正则表达式在匹配时无效

时间:2016-05-04 23:32:46

标签: regex

我需要正则表达式才能在匹配时返回无效。具体而言,匹配是以A或M开头的字符串,后跟四个数字,即A1223。这四个数字可以是任意随机序列。

我确定外观是处理这个问题的方法,但我还没有掌握正则表达式作为一个概念。到目前为止,我已经发现如何使用以下内容将匹配的字符串与其他字符串分开捕获。

([\s\S]*?)(A[\d][\d][\d][\d]|M[\d][\d][\d][\d])

感谢帮助。

2 个答案:

答案 0 :(得分:0)

正则表达式确实没有匹配否定,但是you can (ab)use a negative lookahead assertion进行反向匹配:

^((?!\s[AM]\d{4}).){6}

答案 1 :(得分:0)

匹配所有不以A或M开头,后跟4位数的字符串:

negative lookahead

^(?![AM]\d{4}).* 

consuming pattern使用()捕获组:

[AM]\d{4}.*|(.+)