使用正则表达式在括号中查找具有大写和小写字符的单词

时间:2015-05-12 01:20:53

标签: c# regex visual-studio-2013

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

正则表达式:

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

3 个答案:

答案 0 :(得分:1)

尝试这个

\(([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)之类的内容,其中小写字母首先出现
  3. 如果您希望在括号之前和之前允许空格,则可以将正则表达式更改为此类\( *([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]+