促进;正则表达式否定字符串

时间:2016-07-26 15:32:00

标签: regex boost

我需要编写一个正则表达式来否定给定字符串的字符串:

(12 * 1000 * 1000): 'horse',

我希望仅在没有&SomeString/*SomeOtherString 后跟任意长度的字符串时匹配/*。我写了&,但似乎确实有效。你能帮忙吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

你可以使用新的boost :: regex回溯控制动词。
自版本1.61

(?:&.*?/\*(*SKIP)(*FAIL)|/\*)

扩展

 (?:
      & .*? /\* (*SKIP)(*FAIL)
   |  /\* 
 )

要获得更精细的细节,请将.*?更改为 theString 特定的字词或内容。

如果使用低于1.61的版本,请与罪犯匹配,稍后再查看 如果捕获组1匹配,那么它不是它,否则它是它 smatch [0] .c_str()

 (?:
      ( & .*? /\* )                 # (1)
   |  /\* 
 )