2017-03-03 39 views
3

我需要匹配A之前的字母1-5數字或字母B前面的數字1-4正則表達式匹配一個字母前的4或5位數

所以我正則表達式是這樣的: (\d{1,5}A)|(\d{1,4}B)

但這最後4位數字的A之前匹配。

任何解決方案?

+0

究竟是什麼問題?你只想匹配'A'還是'B'? –

回答

4

這符合之前的一個

的最後4位數字的正則表達式之前要求的項目一個數字的前面:

(?<!\d)((\d{1,5}A)|(\d{1,4}B)) 

另一種解決方案是要求字界線\b

lookahead/lookbehind tutorial

+1

['\ b'](http://www.regular-expressions.info/wordboundaries.html)也可以完成這項工作。 – sp00m

+0

@ sp00m好點,謝謝! – dasblinkenlight

+0

我不明白這個問題,不明白爲什麼這應該是一個解決方案。您的正則表達式仍然「與A之前的最後4位數匹配」 –

0

東西線沿線的:

(\d{1,5}A)|(\d{1,4}B) 

我會建議考慮看看cheatsheet。如果你不熟悉正則表達式,並嘗試自己做這些簡單的正則表達式。

還有大量的在線正則表達式測試應用程序,如:regextester,使您能夠測試您的正則表達式而無需編寫任何代碼。

相關問題