匹配不以字符p结尾的字符串

时间:2016-03-15 19:31:32

标签: java regex

我正在尝试编写一个正则表达式来匹配包含四个连续数字后跟字符p的字符串。

这就是我所拥有的:\d\d\d\d

但我不希望正则表达式匹配1111p之类的字符串。我怎样才能提高我的正则表达式?

2 个答案:

答案 0 :(得分:2)

lookahead的存在需要p否定,即缺少p

正则表达式: \d{4}(?!p)

Regex101 Demo

答案 1 :(得分:0)

/(\d{4})(?!p)/将捕获所有未跟随字符p的四位数字组。 {}quantifier,可让您指定最小,最大或确切的重复次数,而(?!)是一个名为“negative lookahead”的特殊非捕获组。