使用正则表达式查找括号中包含大小写字符的单词

Using a regular expression to find words with lower and upper case characters in parenthesis

我正在创建一个程序来搜索字符串以查找括号中的小写和大写字符的单词,但我似乎无法弄清楚要使用什么正则表达式。示例词 - (LowerUpper)

正则表达式:

string upperLowerParens = "\([A-Z][a-z][a-z]+[A-Z]+\)";

要确保括号中的单词至少有一个大写字母和一个小写字母,并且只包含字母,您可以尝试(区分大小写)

(?=\(.*?[A-Z].*?\))(?=\(.*?[a-z].*?\))\([A-Za-z]+\)

我在问题中发布的第一个 reg ex 的问题是它只返回前三个字母。但我发现此正则表达式适用于所述示例并由 regex101.com

验证
 [A-Z][a-z][a-z]+[A-Z]+[a-z][a-z]+

试试这个

\(([A-Z]+[a-z]+)[A-za-z]*\)|\(([a-z]+[A-Z]+[A-za-z]*)\)
  • 说明

这分为两部分,如果匹配其中一个部分,则匹配括号中的单词

  1. \(([A-Z]+[a-z]+)[A-za-z]*\) 这会验证类似 (LowerUpper) 的内容,其中大写字母首先出现
  2. \(([a-z]+[A-Z]+[A-za-z]*)\) 这验证了类似 (upperLower) 的东西,其中小写字母首先出现

如果你想在括号前后允许空格,你可以将正则表达式更改为这样的东西 \( *([A-Z]+[a-z]+)[A-za-z]* *\)|\( *([a-z]+[A-Z]+[A-za-z]*) *\)

在此处查看演示 Demo