我需要匹配字符串str
中的所有字母和数字。
这是我的代码。
str.match(/^(AB)(\d+)([A-Za-z][0-9])?/)
str = AB57933A
[sic]时,它仅匹配AB57933
,而不是数字后面附加的字符。
如果我尝试使用str = AB57933AbC
[sic],则仅匹配AB57933
;它只匹配最后一个数字,而不是之后的字符。
答案 0 :(得分:2)
你写的方式:
/^(AB)(\d+)([A-Za-z][0-9])/
你强加的最后一个字符在0
和9
之间,你可以根据你的需要替换它,如果你不希望在最后一个字母后面的数字
/^(AB)(\d+)([A-Za-z]+)/
或
/^(AB)(\d+)([A-Za-z0-9]+)/
如果AB57933AbC12
也被接受为有效输入。
最后但并非最不重要的是,如果您不使用反向引用,则可以省略括号,因为您不需要捕获组