Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
php正则表达式来检查字符串是否以包含lang代码的特定字符串开头_Php_Regex - Fatal编程技术网

php正则表达式来检查字符串是否以包含lang代码的特定字符串开头

php正则表达式来检查字符串是否以包含lang代码的特定字符串开头,php,regex,Php,Regex,我有两条像这样的线 /en/user/abc和 /user/abc 我想检查上述字符串是否以/user/开头。在上述两种情况下,条件应返回true。因此,正则表达式也应该考虑一个可能的LangEng. 我用了这个正则表达式 if (preg_match('#^/user/#i', $url) === 1) { echo 'yes'; } 它工作正常,但我不知道如何处理字符串中可能的lang代码 或者我是否可以从上述两个字符串中获取/user/abc?然后我可以使用上面的正则表达式。您可

我有两条像这样的线

/en/user/abc
/user/abc

我想检查上述字符串是否以
/user/
开头。在上述两种情况下,条件应返回true。因此,正则表达式也应该考虑一个可能的LangEng. 我用了这个正则表达式

if (preg_match('#^/user/#i', $url) === 1) {
 echo 'yes';   
}
它工作正常,但我不知道如何处理字符串中可能的lang代码


或者我是否可以从上述两个字符串中获取
/user/abc
?然后我可以使用上面的正则表达式。

您可以将所有语言代码添加到正则表达式:
^(?:\/(?:en | de | nl))\/user

见:

或者允许任何两个字符:
^(?:\/[a-z]{2})?\/user


请参阅:

使用
^(?:/en)?/user/
但也应该有另一个lang代码,如i-e
nl
de
等。当使用
^(?:/[a-z]{2})?/user/
时,不必转义
\/
,因为OP使用的分隔符是