gpt4 book ai didi

正则表达式 optional 组

转载 作者:行者123 更新时间:2023-12-03 09:29:19 28 4
gpt4 key购买 nike

我正在使用这个正则表达式:

((?:[a-z][a-z]+))_(\d+)_((?:[a-z][a-z]+)\d+)_(\d{13})

匹配这样的字符串:
SH_6208069141055_BC000388_20110412101855

分成4组:
SH
6208069141055
BC000388
20110412101855

问题:如何使第一组 optional ,以便生成的组是空字符串?
如果可能,我想在每种情况下都获得 4 个组。

这种情况下的输入字符串:(第一组后没有下划线)
6208069141055_BC000388_20110412101855

最佳答案

您可以轻松地将正则表达式简化为:

(?:([a-z]{2,})_)?(\d+)_([a-z]{2,}\d+)_(\d+)$
^ ^^
|--------------||
| first group ||- quantifier for 0 or 1 time (essentially making it optional)
我不确定没有第一组的输入字符串是否会有下划线,但是如果它是整个字符串,您可以使用上面的正则表达式。
regex101 demo
如您所见,第二场比赛中匹配的组 1 为空,并从匹配的组 2 开始。

关于正则表达式 optional 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18633334/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com