![](/img/trans.png)
[英]Java: Regular expression for the input field only numbers and commas + space characters
[英]Creating a Java regular expression that will match on numbers at beginning of the input only
我有兩個正則表達式,一個用於美國護照,一個用於英國護照。
UK : (?<!\B)(?:\d{9})(?!\B)
US : (?<!\B)(?=(?:[0][0-9]|1[0-5])|15|17|20|21|22|30|31|40|50|53)\d{9}(?!\B)
這些是給我的,似乎可以很好地用於自己的例子。
問題是,以這種格式輸入美國銀行路由號碼時
Routing:121181976
並在系統中運行匹配項,則將路由號標識為美國/英國護照以及銀行路由號(具有另一個不相關的正則表達式)。
盡管有前面的文本,但Passport正則表達式仍在提取9位數的路由號碼。
我該如何更改Passport正則表達式,以便它們不理會帶有附加在字符串上的文本的輸入。 我假設^插入符號在其中起作用,從而創建了這樣的條件,即匹配必須首先從數字本身開始。
一直試圖在各種正則表達式測試站點中創建正則表達式,並嘗試查閱正則表達式書籍。
是的..您必須使用start ^
和end $
錨點。.這將僅在輸入中檢查模式..忽略是否找到任何文本:
UK : ^(?:\d{9})$
US : ^(?=(?:[0][0-9]|1[0-5])|15|17|20|21|22|30|31|40|50|53)\d{9}$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.