如何准备一个在匹配时会转义部分数字的正则表达式?

时间:2014-12-16 13:37:53

标签: c++ regex pcre

我正在使用pcre_exec()来编译正则表达式。

我希望将带有数字的字符串与3位数后跟“ - ”匹配,但如果该数字带有一个或多个数字前缀,则不匹配。 e.g。

345- => match and matches text => (345-)
:546- = match and matches text => (546-)
 123- = match and matches text => (123-)
2355- = Should not match as 355- is prefixed with "2" digit.

我尝试了^([\\s|:]*)([0-7]\\d{2})-,但它无效。

1 个答案:

答案 0 :(得分:3)

使用look-behind声明前一个字符不是数字:

(?<!\d)([0-7]\d{2})-