phpregex检查字符串是否以包含lang代码的特定字符串开头



我有两个类似的字符串

/en/user/abc/user/abc

我想检查以上字符串是否以/user/开头。在上述两种情况下,条件都应返回true。因此regex也应该考虑一个可能的langcode。

我使用了这个正则表达式。

if (preg_match('#^/user/#i', $url) === 1) {
echo 'yes';   
}

它工作得很好,但我不知道如何处理字符串中可能的lang代码。

或者如果我能从上面两个字符串中得到/user/abc?然后我可以使用上面的正则表达式。

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

请参阅:https://regex101.com/r/T7HxoD/4

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

请参阅:https://regex101.com/r/T7HxoD/3

最新更新