Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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正则表达式来匹配URL中的语言参数_Javascript_Regex - Fatal编程技术网

需要Javascript正则表达式来匹配URL中的语言参数

需要Javascript正则表达式来匹配URL中的语言参数,javascript,regex,Javascript,Regex,我不熟悉正则表达式,也没有找到适合我的解决方案。 我的网站使用以下网址: (http(s)://www.)website.com/en/someURL (http(s)://www.)website.com/anotherURL (http(s)://www.)website.com/de/anotherURL 如果访问了website.com/someURL,website.com/或website.com,将加载默认语言 我需要一个只允许这些特定语言代码的正则表达式,区分大小写并不重要:

我不熟悉正则表达式,也没有找到适合我的解决方案。 我的网站使用以下网址:

(http(s)://www.)website.com/en/someURL
(http(s)://www.)website.com/anotherURL
(http(s)://www.)website.com/de/anotherURL
如果访问了
website.com/someURL
website.com/
website.com
,将加载默认语言

我需要一个只允许这些特定语言代码的正则表达式,区分大小写并不重要:

(http(s)://www.)website.com/en
(http(s)://www.)website.com/en/
(http(s)://www.)website.com/
(http(s)://www.)website.com
(http(s)://www.)website.com/de
(http(s)://www.)website.com/de/
此正则表达式将在以下情况下工作:

^((https?)?\:\/\/www\.)?website\.com(\/((de|en)\/?)?)?$
如果您想对[进行一些单元测试,您应该删除开头和结尾的“^”和$,否则只有在使用一行时才会看到肯定的结果

对于测试,您可以使用此选项(如果需要,可以添加一些行):

此正则表达式将在以下情况下工作:

^((https?)?\:\/\/www\.)?website\.com(\/((de|en)\/?)?)?$
如果您想对[进行一些单元测试,您应该删除开头和结尾的“^”和$,否则只有在使用一行时才会看到肯定的结果

对于测试,您可以使用此选项(如果需要,可以添加一些行):


您只需将字母数限制为两个,就可以得到语言
\w{2}

https?\:\/\/www\.website\.com\/((\w{2})\/?$|(\w{2})\/)

e、 g.

只需将字母数限制为两个,就可以得到语言
\w{2}

https?\:\/\/www\.website\.com\/((\w{2})\/?$|(\w{2})\/)

e、 g.

他需要一个正则表达式来解析url中的语言代码…如果没有匹配项,它将禁止来自…的某些代码?总而言之,他不知道如何使用正则表达式,并希望为他完成工作。@Kuzma我建议使用,javascript模式,并使用右下角的“快速参考”当然,在阅读了关于正则表达式的教程之后。正则表达式101真是太棒了。你可以将你的测试用例粘贴到底部和窗格中,并在填充正则表达式时观察匹配的内容。玩它,然后回来,当你有一些东西但你被某些特定的东西卡住时。他需要一个正则表达式来解析语言url中的代码…如果没有匹配项,它将禁止来自…的某些代码?总而言之,他不知道如何使用正则表达式,并希望为他完成工作。@Kuzma我建议使用,javascript模式,并使用右下角的“快速参考”当然,在阅读了关于正则表达式的教程之后。正则表达式101真是太棒了。你可以将你的测试用例粘贴到底部和窗格中,并在填充正则表达式时观察匹配的内容。玩它,然后回来,当你有一些东西,但你仍停留在某些特定的东西上时。谢谢!稍微改进一下:我的框架不需要检查此部分
(http(s)://www.website.com
。我已将您的解决方案简化为
((de|en)\/?)?
,但以这种方式它与网站的根目录不匹配。换句话说,
website.com/和website.com
将不匹配。我需要一个额外的规则来匹配null参数和网站地址末尾的
/
。我在^((https?\:\/\/www\)后面打了一个问号因此,第一部分是可选的,website.com/和website.com将匹配。谢谢!稍微改进一下:我的框架不需要检查这个部分
(http(s)://www.website.com
。我已将您的解决方案简化为
((de|en)\/?)?
,但以这种方式它与网站的根目录不匹配。换句话说,
website.com/和website.com
将不匹配。我需要一个额外的规则来匹配null参数和网站地址末尾的
/
。我在^((https?\:\/\/www\)后面打了一个问号因此,第一部分是可选的,website.com/和website.com将匹配。只有一个小问题与此不匹配:
website.com/和website.com
@Kuzma
.com(\/(\w{2})\/?(\w{2})\/?
)只有一个小问题与此不匹配:
website.com/和website.com
@Kuzma
.com(\/(\w{2})\/?$|(\w{2}\/)?)?
:)