我需要匹配A
之前的字母1-5
数字或字母B
前面的数字1-4
。正则表达式匹配一个字母前的4或5位数
所以我正则表达式是这样的: (\d{1,5}A)|(\d{1,4}B)
但这最后4位数字的A
之前匹配。
任何解决方案?
我需要匹配A
之前的字母1-5
数字或字母B
前面的数字1-4
。正则表达式匹配一个字母前的4或5位数
所以我正则表达式是这样的: (\d{1,5}A)|(\d{1,4}B)
但这最后4位数字的A
之前匹配。
任何解决方案?
这符合之前的一个
的最后4位数字的正则表达式不之前要求的项目一个数字的前面:
(?<!\d)((\d{1,5}A)|(\d{1,4}B))
另一种解决方案是要求字界线与\b
。
['\ b'](http://www.regular-expressions.info/wordboundaries.html)也可以完成这项工作。 – sp00m
@ sp00m好点,谢谢! – dasblinkenlight
我不明白这个问题,不明白为什么这应该是一个解决方案。您的正则表达式仍然“与A之前的最后4位数匹配” –
东西线沿线的:
(\d{1,5}A)|(\d{1,4}B)
我会建议考虑看看cheatsheet。如果你不熟悉正则表达式,并尝试自己做这些简单的正则表达式。
还有大量的在线正则表达式测试应用程序,如:regextester,使您能够测试您的正则表达式而无需编写任何代码。
究竟是什么问题?你只想匹配'A'还是'B'? –