我正在使用这个正则表达式:
((?:[a-z][a-z]+))_(\d+)_((?:[a-z][a-z]+)\d+)_(\d{13})
匹配像这样的字符串:
SH_6208069141055_BC000388_20110412101855
分为4组:
SH
6208069141055
BC000388
20110412101855
问题:如何使第一组可选,以便结果组为空字符串?
我希望在所有情况下都能获得4个组。
此案例的输入字符串:(第一组后没有下划线)
6208069141055_BC000388_20110412101855
?
匹配 "零次或一次",而*
匹配 "零次或多次"。 - Daniel W.?:
是什么意思? - brobers(...)
将捕获结果中的内容,但是(?:...)
使其成为非捕获组,因此它必须匹配(或应用),但不会包含在结果组中。 - Daniel W.