RegEx:匹配表达式或什么也没有

时间:2014-07-28 08:41:41

标签: c# javascript regex

我试图在正则表达式中完成以下操作 应该匹配:

  • 任意数量的字符
  • 不是字母或根本没有(=字符串的开头)
  • "上"
  • 字母
  • 空间
  • " ="
  • 任意数量的字符

这就是我所拥有的:

[^a-zA-Z]on([a-zA-Z]*?)(\s*?)=

以下是正确的:

  • xonfoo = 不匹配
  • 0onfoo = 匹配

问题是这个不匹配,但

  • onfoo =

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您必须添加\b?

\b[^a-zA-Z\s]*on([a-zA-Z]*?)(\s*?)=

示例:http://regex101.com/r/kX7wD1/2

答案 1 :(得分:0)

试试这个:

[^a-zA-Z]?on([a-zA-Z]*?)(\s*?)=

注意第一个问号。你基本上只要求一个非字母字符。