两个正则表达式匹配,匹配之间有空格
本文关键字:空格 之间 正则表达式 两个 | 更新日期: 2023-09-27 18:09:22
我正在尝试与这个正则表达式匹配字符串:
正则表达式:
[ ]('d{4}|'d{4}[A-Za-z]{3})[ ]
注意:数字后面可能有3个字符,这就是为什么[A-Za-z]{3}在那里。
这是我想要匹配的字符串:
281320Z 26015KT 9999 3333 FEW028 SCT033 BKN053 16/10 Q1007=
所以在这个例子中,它将只选择9999因为match1会预留一个位置。在本例中:
281320Z 26015KT 9999 3333 4444 FEW028 SCT033 BKN053 16/10 Q1007=
9999和4444将被选中。
如何让9999,3333,4444被选中?
您可以像这样使用正则表达式:
'b('d{4})(?:'b|[A-Z]{3})
演示工作'b('d{4})(?:[A-Za-z]{3})?'b
应该能做到。
(?:)
是一个非捕获基团,我们将其与?
一起使用,表示其内容可以出现零次或一次。
使用$1