正则表达式OR

时间:2013-07-02 10:20:04

标签: jquery regex

我正在尝试写一个正则表达式,我需要你的帮助......

要求 - 第一个字符是“ s ”,然后必须跟两个数字Eg - S98 如果它不是“ s ”,则必须后跟两个字母字符 {A-Z,a-z} ,例如-aIO

我之前写过,无法正常工作。如果我分别分为两部分(前后),而不是一起分开......

regexevent = /^([s]{1})([0-9]{2})| ([a-rt-z]{1})([A-Za-z]{2})$/;

请帮忙

1 个答案:

答案 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]