正则表达式帮助(13长度数字,以特定数字结尾)

正则表达式帮助(13长度数字,以特定数字结尾)

问题描述:

另一个正在尝试执行搜索的正则表达式问题。正则表达式帮助(13长度数字,以特定数字结尾)

的问题:确定是否用户输入是13位长(只有数字),并与端部52,56,或57。

我的当前未工作溶液[0-9]52|56|57${13}。我也尝试[0-9]52|56|57{13}$,但没有骰子。

帮助表示赞赏。

试试这个正则表达式:

^[0-9]{11}(52|56|57)$ 

这是什么意思:

 
^   Start of string 
[0-9]  Any character in 0-9 
{11}  The previous token must match exactly 11 times. 
(52|56|57) Alternation - any one of the possibilities must match 
$   End of string 

您也可以在这种情况下,简化为:

^[0-9]{11}5[267]$ 

你有13位其中11个可以是任何数字,接下来的两个数字必须是52,56或57.正则表达式中的11个数字是l ike \d{11}。 '或'操作符由符号|表示,所以52 or 56 or 57变为52|56|57。得到的正则表达式看起来像\d{11}(52|56|57)。括号用于消除歧义。

请记住,您可以从更简单的构造复杂的正则表达式。此方法始终有效;)