我正在尝试写一个正则表达式,我需要你的帮助......
要求 - 第一个字符是“ s ”,然后必须跟两个数字Eg - S98 如果它不是“ s ”,则必须后跟两个字母字符 {A-Z,a-z} ,例如-aIO
我之前写过,无法正常工作。如果我分别分为两部分(前后),而不是一起分开......
regexevent = /^([s]{1})([0-9]{2})| ([a-rt-z]{1})([A-Za-z]{2})$/;
请帮忙
答案 0 :(得分:4)
$
和^
是OR的一部分,因此它正在寻找LHS开始锚定或RHS结束锚定。你需要将整个事物包裹在括号中......
regexevent = /^(([s]{1})([0-9]{2})| ([a-rt-z]{1})([A-Za-z]{2}))$/;
或者,你可以写一下你的正则表达式......
regexevent = /^(s\d{2}|[a-rt-z][A-Za-z]{2})$/;
(假设不需要其中一些捕获组。)
也...
第一个字符是“s”,然后必须跟两个数字Eg - S98
如果S
(您只检查s
),您的正则表达式将失败。您可以使用[sS]
。