java - 匹配从最后一个不在括号中的大写字母单词开始到字符串末尾的子串

标签 java regex string

我需要从不在括号内的最后一个前导(字首)大写字母到字符串末尾的子字符串

我尝试使用这个正则表达式:

([A-Z][a-zA-Z\-\']*\s*)*(\s+\([^)]*\)[\s]*)+$

匹配这个输入:

can This Be PosSible (Ignore aNy Upper CAse in parenthesis)

匹配是:

This Be PosSible (Ignore aNy Upper CAse in parenthesis)

但期望的输出是:

PosSible (Ignore aNy Upper CAse in parenthesis)

参见 this on regex101 .

最佳答案

这似乎适用于您的示例:

\b[A-Z](?![^(]*\))(?!.*\b[A-Z](?![^(]*\))).*

参见 live demo .

关于java - 匹配从最后一个不在括号中的大写字母单词开始到字符串末尾的子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31251256/

相关文章:

java - Android 应用程序创建文件但找不到它

regex - 如何使用正则表达式选择任意数量的数字?

java - 如何将对象数组合并为单个格式化字符串

javascript - 在javascript中如何将字符串转换为数组并将数组转换为字符串

java - SSL 套接字连接

java - 可扩展 ListView 未扩展

Java - 向 Slack Webhook 发送消息

C# Regex Split - 方括号内的所有内容

javascript - 正则表达式字边界(退格)测试用例

c++ - 如何将十六进制转换为字符串? C++