你好,我正试着阅读前面国家代码的regex中的增值税号码:
GB 009 0009 09
它们可以按如下格式格式化
GB009000909
GB 009000909
GB 0 09 0009 09我的当前表达式是:(GB\d{9}\b|GB\s{1}\d{9}\b)
我如何保持它的简单和忽略空格?
发布于 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])
发布于 2020-01-22 14:41:59
[ ]*将匹配任意数量的空格(包括0)。([0-9]+)将匹配1或更多位数。([0-9]*)将显示任意数量的数字(包括0)。我认为这样的东西可以为你匹配所有的东西:
GB[ ]*([0-9]+)[ ]*([0-9]*)[ ]*([0-9]*)[ ]*([0-9]*)每次都配上国标。然后是0或更多的空格,然后是至少一个数字,然后是空格,如果0或更多出现,则最多为4倍。
如果需要更多的解释,请告诉我!
https://stackoverflow.com/questions/59862048
复制相似问题