C#RegEx同时匹配字符串的开头和单词的开头

时间:2009-05-06 18:51:12

标签: c# .net regex

说有六个字符串

  1. “abcd bbb ccc”
  2. “abce bbb ccc”
  3. “abcf bbb ccc”

  4. “aaa abcd ccc”

  5. “aaa abce ccc”
  6. “aaa abcf ccc”
  7. 用户输入表达“<abc[!e]

    此表达式转换为以下正则表达式“^ abc [^ e]”

    翻译的正则表达式将成功匹配字符串1和3

    如果我想匹配字符串4和6,则必须将表达式转换为“\ Wabc [^ e]”(这也会在abc chars之前匹配空格:(,这不是很好)

    不幸的是,用户输入的表达式需要在正则表达式中进行转换,以匹配1,3和4,6个字符串。

    有没有办法将用户输入的表达式转换为正则表达式,它将组合“^ abc [^ e]”和“\ Wabc [^ e]”表达式(理想情况下第二个表达式与第一个空格不匹配:))

1 个答案:

答案 0 :(得分:4)

Perl知道零宽度字边界\ b:

\babc[^e]

我认为它应该适用于大多数Perl风格的正则表达式引擎。