![](/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.