首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在正则表达式中忽略一组数字之间的空格?

在正则表达式中忽略一组数字之间的空格?
EN

Stack Overflow用户
提问于 2020-01-22 14:35:36
回答 2查看 589关注 0票数 0

你好,我正试着阅读前面国家代码的regex中的增值税号码:

GB 009 0009 09

它们可以按如下格式格式化

代码语言:javascript
复制
GB009000909
GB 009000909
GB 0 09 0009 09

我的当前表达式是:(GB\d{9}\b|GB\s{1}\d{9}\b)

我如何保持它的简单和忽略空格?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-22 14:40:02

您可以使用GB(\s?\d){9}

GB与GB匹配(区分大小写)

第一捕捉组(\s?\d){9}

{9}量词-匹配精确9次

重复捕获组只捕获最后一次迭代。在重复组周围放置一个捕获组,以捕获所有迭代,或者如果您对数据不感兴趣,则使用非捕获组。

\s?匹配任何空格字符(等于[\r\n\t\f\v ])

?量词-匹配在0到1倍之间,尽可能多次匹配,根据需要返回(贪婪)

\d匹配一个数字(等于[0-9])

自己试试看

票数 3
EN

Stack Overflow用户

发布于 2020-01-22 14:41:59

  • 模式[ ]*将匹配任意数量的空格(包括0)。
  • 模式([0-9]+)将匹配1或更多位数。
  • 模式([0-9]*)将显示任意数量的数字(包括0)。

我认为这样的东西可以为你匹配所有的东西:

代码语言:javascript
复制
GB[ ]*([0-9]+)[ ]*([0-9]*)[ ]*([0-9]*)[ ]*([0-9]*)

每次都配上国标。然后是0或更多的空格,然后是至少一个数字,然后是空格,如果0或更多出现,则最多为4倍。

如果需要更多的解释,请告诉我!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59862048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档