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

Regex 正则表达式:从字符串中提取格式化的数字(如果存在),regex,Regex,首先,我很抱歉,如果这已经被问到其他地方,只是我找不到它。如果是这样,我深表歉意 我对正则表达式很在行,通常会避免使用它们,但我知道我遇到的问题可以用它们简单地解决,所以我来这里寻求帮助 我有一个文本字段,其中包含有关公司名称、地址、标识符等的一些信息,但并非所有信息都始终显示在该字段上,并且未设置信息的显示顺序 我需要的是公司标识符,它是一个14位数字,可以或不能格式化为:XX.XXX.XXX/XXXX-XX 我可以使用什么表达式来标识行中是否有14位数字或以上述方式格式化的数字?/[0-9]

首先,我很抱歉,如果这已经被问到其他地方,只是我找不到它。如果是这样,我深表歉意

我对正则表达式很在行,通常会避免使用它们,但我知道我遇到的问题可以用它们简单地解决,所以我来这里寻求帮助

我有一个文本字段,其中包含有关公司名称、地址、标识符等的一些信息,但并非所有信息都始终显示在该字段上,并且未设置信息的显示顺序

我需要的是公司标识符,它是一个14位数字,可以或不能格式化为:XX.XXX.XXX/XXXX-XX

我可以使用什么表达式来标识行中是否有14位数字或以上述方式格式化的数字?

/[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位数字

这里可能有一些边缘案例

也许有一种方法可以同时完成这两个任务,但我没有耐心也没有时间去尝试解决它。

试试正则表达式:\b?:\d{14}\d{2}.\d{3}.\d{3}\/\d{4}-\d{2}\b


请提供一些您已经尝试过的和不起作用的细节。你不应该简单地要求别人帮你解决问题。我应该怎么做?我能想到的唯一其他解决方案是对文本字段执行一些相当复杂和缓慢的字符串操作,而这并不是一个真正的选项。事实上,我知道正则表达式可以解决我的问题,但我不知道如何编写表达式,也找不到解决这个问题的方法。如果不是这样,Stackoverflow有什么用?[0-9]可以是\d,[.]{1}可以是\。,etc@alex是的,绝对是一个亚历克斯。有了你的两个答案,我可以写一个正则表达式,它完全符合我的需要。你太棒了。我最后使用的表达式是:\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}\d{14}