我需要获得一个正则表达式,它会找到一个小写的a-z字符后跟5个数字的匹配:
因此预计会有以下结果:
a12345 MATCH
(a12345)MATCH
[a12345] MATCH
text a12345 MATCH
aa12345 NO MATCH
目前我有(?<=[])]*)[a-z]{1}[0-9]{5}(?=[])]*)
,但它并不适用于所有情况,例如,当我不想要它们时,它会将aa12345和a12345a视为匹配。
有人可以帮忙吗?
修改 我应该提到的道歉是针对.NET c#
答案 0 :(得分:1)
首先,你应该提到编程语言。
以下解决方案适用于 PCRE 。
正则表达式: ((?<=[\[( ])|^)[a-z]\d{5}((?=[\]\) ])|$)
<强>解释强>
((?<=[\[( ])|^)
检查前面的括号,空格 OR 开头。
[a-z]\d{5}
检查字母表后跟5位数。
((?=[\]\) ])|$)
检查后续括号,空格 OR 行尾。
答案 1 :(得分:0)
这是否有效:
(\[[a-z]\d{5}\])|(\([a-z]\d{5}\))|(\b[a-z]\d{5}\b)