Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
正则表达式匹配/xx/xx/或/xx/xx-javascript_Javascript_Regex - Fatal编程技术网

正则表达式匹配/xx/xx/或/xx/xx-javascript

正则表达式匹配/xx/xx/或/xx/xx-javascript,javascript,regex,Javascript,Regex,与字符串/xx/xx/以及/xx/xx匹配的常规表达式是什么。xx可以是任意两个字母。最简单的解决方案是“斜杠,2个字符,斜杠,2个字符,可选斜杠”的文字模式: 结构: ///JS的“Start regex” \///转义的“斜杠”(匹配/) \w//任何单词字符([A-Za-z0-9))(两次) //然后是斜线和2\w \/? // 可选斜杠。 用法: "/xx/xx/".match(/\/\w\w\/\w\w\/?/) // ["/xx/xx/"] "/xx/xx".match(/\/\w

与字符串
/xx/xx/
以及
/xx/xx
匹配的常规表达式是什么。xx可以是任意两个字母。

最简单的解决方案是“斜杠,2个字符,斜杠,2个字符,可选斜杠”的文字模式:

结构:

///JS的“Start regex”
\///转义的“斜杠”(匹配/)
\w//任何单词字符([A-Za-z0-9))(两次)
//然后是斜线和2\w
\/? // 可选斜杠。
用法:

"/xx/xx/".match(/\/\w\w\/\w\w\/?/) // ["/xx/xx/"]
"/xx/xx".match(/\/\w\w\/\w\w\/?/) // ["/xx/xx"]
"/xx/x".match(/\/\w\w\/\w\w\/?/) // null
您可以将正则表达式缩短一点:

此外,您可能希望将
\w
替换为
[A-z]
,因为
\w
还匹配数字(
[0-9]
)和下划线字符(
)。如果您希望正则表达式只允许字母,请使用
[A-z]

希望下面的方法会有所帮助:

\/[a-zA-Z][A-Za-z]\/[A-Za-z][A-Za-z](\/)?/
假设x可以是大写或小写字母

测试样本:

Ab/cd  --> True
AA/BB  --> True
A/B    --> False
XX/SS/ --> True
/X/x/  --> False

你试过什么?您只需匹配一个斜杠、两个字符、一个斜杠、两个字符和一个可选的斜杠……
/\/[a-z][a-z]\/[a-z][a-z]\/?/i
在这里,您可以测试到目前为止尝试的内容:
\/[a-zA-Z][A-Za-z]\/[A-Za-z][A-Za-z](\/)?/
Ab/cd  --> True
AA/BB  --> True
A/B    --> False
XX/SS/ --> True
/X/x/  --> False