我正在创建一个程序,用于搜索字符串以查找括号中包含大写和小写字符的单词,但我似乎无法弄清楚要使用的正则表达式。示例单词 - (LowerUpper)
正则表达式:
string upperLowerParens = "\\([A-Z][a-z][a-z]+[A-Z]+\\)";
答案 0 :(得分:1)
尝试这个
\(([A-Z]+[a-z]+)[A-za-z]*\)|\(([a-z]+[A-Z]+[A-za-z]*)\)
如果其中一个匹配,则分为两部分,括号之间的单词将匹配
\(([A-Z]+[a-z]+)[A-za-z]*\)
这会验证(LowerUpper)
之类的内容,其中大写字母首先出现\(([a-z]+[A-Z]+[A-za-z]*)\)
这会验证(upperLower)
之类的内容,其中小写字母首先出现如果您希望在括号之前和之前允许空格,则可以将正则表达式更改为此类\( *([A-Z]+[a-z]+)[A-za-z]* *\)|\( *([a-z]+[A-Z]+[A-za-z]*) *\)
在此处查看演示Demo
答案 1 :(得分:-1)
为了确保括号中的单词至少有一个大写和一个小写字母,并且只包含字母,您可以尝试(使用区分大小写的集合)
(?=\(.*?[A-Z].*?\))(?=\(.*?[a-z].*?\))\([A-Za-z]+\)
答案 2 :(得分:-1)
我在问题中发布的第一个reg ex的问题是它只返回了前三个字母。但我发现这个正则表达式适用于所述示例,并由regex101.com验证
[A-Z][a-z][a-z]+[A-Z]+[a-z][a-z]+