我有一個正則表達式,我認爲工作正常,直到現在。我需要匹配一個可選角色。它可能在那裏,也可能不在。正則表達式如何匹配一個可選字符
這裏有兩個字符串。頂部的字符串是匹配的,而下部的則不匹配。在較低的字符串中沒有單個字母是導致它失敗的原因。
我想在開始的5位數字之後得到單個字母,如果不存在,則繼續獲取字符串的其餘部分。這封信可以是A-Z
。
如果我從正則表達式中刪除([A-Z]{1}) +.*? +
,它將匹配除信件外所需的所有內容,但它很重要。
20000 K Q511195DREWBT E00078748521
30000 K601220PLOPOH Z00054878524
這是我正在使用的正則表達式。
/^([0-9]{5})+.*? ([A-Z]{1}) +.*? +([A-Z]{1})([0-9]{3})([0-9]{3})([A-Z]{3})([A-Z]{3}) +([A-Z])[0-9]{3}([0-9]{4})([0-9]{2})([0-9]{2})/
Tim,我真的不確定,因爲我沒有寫這個正則表達式。對於正則表達式我還是很新的。如果你看到更好的寫作方式,我願意接受建議。 – jim 2010-10-24 06:45:37
蒂姆,你的例子適用於兩個字符串,不管我在那個位置是否有一個字母。謝謝。 – jim 2010-10-24 07:00:51