0
我有两个例子提取组
abc 34 def12 ghi
abc 34 33 ghi
和正则表达式
^.*?([0-9]{2}) ?([a-z]{2,3})? ?([0-9]{2}).*$
(见https://regex101.com/r/U2JNaS/1)
我需要修改它以这样的方式来提取$1
,$2
, $3
但是只有当$2
存在时,即我需要它返回
34 def12
<WRONG>
如何实现这一目标?
@anubhava对不起,我没说清楚:如果没有匹配,替换函数会给我所有的东西,我的意思是第二个例子不匹配(编辑)。 – Tim
然后使第二个非可选为:['^。*?([0-9] {2})\ s *([az] {2,3})\ s *([0-9] {2} )。* $'](https://regex101.com/r/U2JNaS/2) – anubhava