gpt4 book ai didi

regex - preg_match() : Compilation failed: invalid range in character class at offset 15

转载 作者:行者123 更新时间:2023-12-04 02:29:52 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





preg_match(): Compilation failed: invalid range in character class at offset

(5 个回答)


2年前关闭。




我在验证名称时遇到这个错误......几个月前我搜索了国际名称的正则表达式,终于在这里找到了一些东西:Accept international name characters in RegEx

但现在它向我展示了这个错误,请帮忙

preg_match():编译失败:字符类中偏移量 15 处的范围无效

if(preg_match("/^[a-zA-Z\s,.'-\pL]+$/u", $name)) {
return true;
} else{
$this->addError($field_name.' contains invalid characters');
return false;
}

也试试这个 preg_match("/^[\s,.'-\pL]+$/", $name) 但仍然显示同样的错误

最佳答案

连字符 ( - ) 需要转义,因为它在字符类中的位置。

注:在字符类中,连字符有 特殊含义 .您可以将它作为类的第一个或最后一个字符。在某些正则表达式实现中,您还可以直接放置在一个范围之后。如果您将连字符放在其他任何位置,则需要在它前面加上反斜杠,以便将其添加到您的字符类中。

if(preg_match("/^[a-zA-Z\s,.'\-\pL]+$/u", $name)) { ...
^^

您可以按如下方式编写正则表达式:
if(preg_match("/^[\pL\s,.'-]+$/u", $name)) { ...

关于regex - preg_match() : Compilation failed: invalid range in character class at offset 15,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26208622/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com