正则表达式:如果存在,则从字符串中提取格式化的数字

时间:2019-03-29 13:43:59

标签: regex

首先,很抱歉,如果已经在其他地方提出了此要求,只是我找不到它。如果是这样,我深表歉意。

我对正则表达式很糟糕,通常会避免使用它们,但是我知道使用它们可以轻松解决我遇到的问题,所以我来这里寻求帮助。

我有一个文本字段,其中包含有关公司的一些信息(名称,地址,标识符等),但是并非所有信息总是出现在该字段上,并且未设置信息出现的顺序。

我需要的是公司标识符,它是一个14位数字,可以或不能这样设置:XX.XXX.XXX/XXXX-XX

我可以使用哪种表达式来识别一行中是否有14位数字或以上述方式设置格式的数字?

2 个答案:

答案 0 :(得分:0)

/[0-9]{2}[.]{1}[0-9]{3}[.]{1}[0-9]{3}[\/]{1}[0-9]{4}[-]{1}[0-9]{2}/ for XX.XXX.XXX/XXXX-XX

/[0-9]{14}/(14位数字)

这里某处可能有一些边缘情况。

也许也可以将两者合而为一,但是我没有耐心,也没有时间去弄清楚。

答案 1 :(得分:0)

尝试使用正则表达式:\b(?:\d{14}|\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2})\b

Demo