为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 12 位数字的开头获取所有文本并使用正则表达式将它们分组

如何从 12 位数字的开头获取所有文本并使用正则表达式将它们分组

慕哥6287543 2021-11-04 10:37:18
我有以下格式的以下文本,但我想要的是从找到的 12 位数字的开头选择和分组单词,并在下一个 12 位数字的开头停止,这些数字也应该组合在一起。例如,在我下面的文本中,应将以下内容组合在一起:011111111111 CDGH, LGF ADF : 203 HYT LOREM IPSUM / LOREM IPSUM县 : GTYH CHIDGER L. IPSUM THJ. 日期:07/21/2000 LOREM IPSUM DOLOT & LOREM IPSUM 768 LOREM IPSUM,67TH LOREM IPSUM IPSUM。DTEA: NIGER, GA 12345 LOREM IPSUM DOLOT 97 LOREM IPSUMDOLOT, KY 35678-8765并且0222222222222 CDGH, LGF ADF : 203 HYT LOREM IPSUM / LOREM IPSUM县 : GTYH johjk L. IPSUM THJ. 日期:07/21/2000 LOREM IPSUM DOLOT & LOREM IPSUM 768 LOREM IPSUM,67TH LOREM IPSUM IPSUM。DTEA: NIGER, GA 12345 LOREM IPSUM DOLOT 97 LOREM IPSUMDOLOT, KY 35678-8765这是整个文档的样本LOREM IPSUM LOR IPSUM DDDDDDDDD FG SSSSS 编号106/03/2019 LOREMFG GH LOREMIPSUMFLOREM OPFRTE ERTIOLOREMIPS LOREMIOS 05/30/2019 DERTE TH LOREM (LWA LTD)-- -------------------------------------------------- -------------------------------------------------- ---------------011111111111 CDGH, LGF ADF : 203 HYT LOREM IPSUM / LOREM IPSUM县 : GTYH CHIDGER L. IPSUM THJ. 日期:07/21/2000 LOREM IPSUM DOLOT & LOREM IPSUM 768 LOREM IPSUM,67TH LOREM IPSUM IPSUM。DTEA: NIGER, GA 12345 LOREM IPSUM DOLOT97 LOREM IPSUM DOLOT, KY 35678-8765 0222222222222 CDGH, LGF ADF : 203 HYT LOREM IPSUM / LOREM IPSUM县 : GTYH johjk L. IPSUM THJ. 日期:07/21/2000 LOREM IPSUM DOLOT & LOREM IPSUM 768 LOREM IPSUM,67TH LOREM IPSUM IPSUM。DTEA: NIGER, GA 12345 LOREM IPSUM DOLOT97 LOREM IPSUM DOLOT, KY 35678-8765 011111111111CDGH, LGF ADF : 203 HYT LOREM IPSUM / LOREM IPSUM THUM COUNTY 日期:07/21/2000 LOREM IPSUM DOLOT & LOREM IPSUM 768 LOREM IPSUM,67TH LOREM IPSUM IPSUM。DTEA: NIGER, GA 12345 LOREM IPSUM DOLOT97 LOREM IPSUM DOLOT, KY 35678-8765我写的代码只选择了 12 位数字和空格,但忽略了它们之间的文本。链接到我为此目的编写的 regex101(\b\d{12}\s*\b[A-Za-z0-9_.]*+\s+)
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

如果 12 位数字也可以在同一行上,您可以将模式的开头与单词边界一起使用,并使用具有正向预测的非贪婪量词。

如果值可以跨越多行并且可以在同一行出现两次,您可以考虑使用[\s\S]+?代替.+?

\b\d{12}\b.+?(?=\b\d{12}\b|$)

在零件中

  • \b\d{12}\b 在单词边界之间匹配 12 位数字

  • .+? 匹配 1+ 次除换行符以外的任何字符

  • (?=\b\d{12}\b|$) 正向前瞻,断言右边是被单词边界包围的 12 位数字或字符串的结尾。

正则表达式演示


查看完整回答
反对 回复 2021-11-04
  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信