我想问你如何修改那个正则表达式:
"/\b([A-Z]{2,}[0-9][0-9A-Z-\/]*)/is"
目前它只能匹配它,如果没有' - '。我想要达到的目标是,它可以匹配类似的东西,即
TGW-1234
所以至少有两个字母后跟(可选)短划线然后(必需)数字。
答案 0 :(得分:3)
在字母和数字之间使用-?
。 ?
表示可选
"/\b([A-Z]{2,}-?[0-9][0-9A-Z-\/]*)/is"
它位于允许出现在表达式中该点的角色之后,但实际上并不需要将其存在仍被视为成功匹配。
答案 1 :(得分:1)
"/\b([A-Z]{2,}-?[0-9][0-9A-Z-\/]*)/is"
答案 2 :(得分:1)
"/\b([A-Z]{2,}-?[0-9][0-9A-Z-\/]*)/is"
--------------^^ optional dash