【问题标题】:Regular Expression for matching 0 or more words with commas用逗号匹配 0 个或多个单词的正则表达式
【发布时间】:2014-01-28 03:37:45
【问题描述】:

我需要在 .NET 中创建一个匹配以下内容的 RegEx:

AAA这个词

... 后跟零个或多个以下单词:BBB CCC DDD EEE,顺序不限。 (这些话不能重复)

...它们之间可以有逗号+空格,但不必

... 后跟 FFF

例如,以下应该匹配:

AAA, BBB CCC, FFF
AAA CCC FFF
AAA DDD, BBB FFF
AAA FFF

虽然以下不应该:

AAA BBB BBB FFF
AAA CCC DDD

这应该是什么正则表达式?

谢谢!

【问题讨论】:

  • “那些话不能重复自己”部分让这变得困难。
  • 这是解析器的工作,而不是正则表达式。

标签: .net regex


【解决方案1】:

这可以满足您的需求:

^AAA[\s,]+(?:(BBB|CCC|DDD|EEE)(?!.*\1)[,\s]+)*FFF$

Debuggex的可视化

RegExr上的演示

【讨论】:

  • 哇 Debuggex 太棒了。好资源!
  • 哇,太棒了!我不知道这些工具。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多