Javascript Regex可能以SE开头
我正在尝试创建一个正则表达式,它将比较可能以SE开头但不必以SE开头的代码。示例: XXXXX XXX-XX XXX XX SEXXXXX sexx-XX SEXXX XX 东南XXXXX SE XXX-XX 东南XXX XX 到目前为止,我得到的是:/^(s?e?(\s?)(\d{3})(\s{124;-?)(\ d{2})$/I 但问题是它只能从s或e开始。有什么建议吗?我会写Javascript Regex可能以SE开头,javascript,regex,Javascript,Regex,我正在尝试创建一个正则表达式,它将比较可能以SE开头但不必以SE开头的代码。示例: XXXXX XXX-XX XXX XX SEXXXXX sexx-XX SEXXX XX 东南XXXXX SE XXX-XX 东南XXX XX 到目前为止,我得到的是:/^(s?e?(\s?)(\d{3})(\s{124;-?)(\ d{2})$/I 但问题是它只能从s或e开始。有什么建议吗?我会写 /^(SE\s){0,1}(\d{3})(\s |-?)(\d{2})$/i如果我理解您的要求,您的方式看起来不错
/^(SE\s){0,1}(\d{3})(\s |-?)(\d{2})$/i如果我理解您的要求,您的方式看起来不错。
s?e?
部分将允许它以SE
或仅s
或仅e
开头,这听起来像是您想要的。但是,除非您试图将代码的不同部分划分为捕获组,否则您不需要大多数括号。而且,这看起来不正确:(\s |-?)
我认为如果那里既没有\s
也没有-
,它仍然可以工作,但这是一种笨拙的编写方式
我认为这应该很好:
/^s?e?\s?\d{3}[\s-]?\d{2}$/i
如果不希望它仅以S
、仅以E
或空格开头,请使用以下命令:
/^(se\s?)?\d{3}[\s-]?\d{2}$/i
s?e?
部件将检查s
或e
请尝试以下操作:
/^(?:se)? ?\d{3}[- ]?\d{2}$/i
问题不在于妄想症,而在于(正如愿景所说的)s?e?检查两者,但都不起作用。@MaGi-我不确定您是否只允许S/只允许E。如果不允许,第二种模式就是您需要的。问题绝对不是括号,那只是一个附带的建议。