Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex可能以SE开头_Javascript_Regex - Fatal编程技术网

Javascript Regex可能以SE开头

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开头但不必以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

如果我理解您的要求,您的方式看起来不错。
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。如果不允许,第二种模式就是您需要的。问题绝对不是括号,那只是一个附带的建议。