正则表达式 - 用于匹配括号之间的字母字符的模式

Mad*_*ine 2 c# regex

任何人都可以协助提供正则表达式模式来查找括号之间的字母吗?IE:

[A]或[AAA]或[BAB]

我正在搜索的字符串可能是这样的:

([A]*[B] + [AAA])

从那以后我希望能够从字符串中获得A,B,AAA.我正在搜索的字母总是在方括号之间.

Ale*_*lex 7

使用这个正则表达式:

(?<=\[)[A-Za-z]+(?=\])
Run Code Online (Sandbox Code Playgroud)

比赛以粗体显示:

[ A ]或[ AAA ]或[ BAB ]([ A ]*[ B ] +> [ AAA ])

您可以使用它:

var matches = Regex.Matches(input, @"(?<=\[)[A-Za-z]+(?=\])");
Run Code Online (Sandbox Code Playgroud)

  • +1,但我认为你想要`+`而不是`*`. (2认同)
  • @MPękalski:几乎所有"当前"的正则表达式都支持环顾; JavaScript(以及Ruby pre-1.9)是一个值得注意的例外,因为它们只支持前瞻,而不是后瞻.一些正则表达式引擎也支持在lookbehind断言中无限重复(.NET确实,PHP/Perl/Python/Java不支持像`(?<=\w*)`这样的表达式). (2认同)