有关 preg_match/regex 的帮助

发布于 2024-12-03 03:06:16 字数 186 浏览 0 评论 0原文

我不知道正则表达式,所以请帮忙。对于以下代码:

$req_user = trim($_GET['user']);
if(!preg_match("^([0-9a-z])+$", $req_user)){
//do something ...
}

我收到此错误:注意:找不到结束分隔符“^”。

I don't know regex, so please help. For the following code:

$req_user = trim($_GET['user']);
if(!preg_match("^([0-9a-z])+$", $req_user)){
//do something ...
}

I get this error: NOTICE: No ending delimiter '^' found.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜还是长夜 2024-12-10 03:06:16

在 php 中给出正则表达式时,您需要在字符串的开头和结尾放置一个匹配字符来分隔它。因此,抱怨是它在字符串的开头看到一个 ^ ,并假设它是分隔符,但末尾没有匹配的字符。因此,您确实需要一个字符串,就像

"#^([0-9a-z])+$#"

在 php.ini 中输入正则表达式一样。

When giving a regex in php you need to put a matching character at the beginning and end of the string to delimit it. So, the complaint is that it sees a ^ at the start of the string, and assumes it is the delimiter, but there is no matching character at the end. As such, you really need a string like

"#^([0-9a-z])+$#"

when entering the regex in php.

箜明 2024-12-10 03:06:16

$req_user = trim($_GET['user']);
if(!preg_match("!^([0-9a-z])+$!", $req_user)){
//做某事...

您必须在正则表达式的开头和结尾添加一个 Char 才能使其正常工作
该字符限制正则表达式区域。最后之后!您可以添加忽略大小写等修饰符。

$req_user = trim($_GET['user']);
if(!preg_match("!^([0-9a-z])+$!", $req_user)){
//do something ...
}

You have to add an Char on the start and end of the regexp to have it working.
This char restricts the regexp-area. After the last ! you can add modifiers for case-ignore etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文