gpt4 book ai didi

php - 中文/日文字母的正则表达式

转载 作者:行者123 更新时间:2023-12-02 15:22:00 27 4
gpt4 key购买 nike

好吧,我已经有了这个正则表达式,用于我网站上允许的名称。但是,我还希望添加名称可能使用的其他字母。有人有好的 regex 或知道如何使它更完整吗?我已经搜索了一段时间,但找不到适合我需要的内容。

这是我当前用于检查姓名的 regex:

$regex = "/^([a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-])+$/";
if(preg_match($regex, $fullname)){
// do something
}

最佳答案

正如 Lucas Trzesniewski 提到的,\p{L} 将包含 [a-zA-Z],因此我已从模式中删除。

因此,结合示例中包含的字符列表;模式将如下所示,/^[\p{L}\s,.'-]+$/u

^[]+$从头到尾匹配字符串,所以+也意味着需要匹配一个或多个

\p{L} 匹配 unicode 字符

\s,.'- 匹配空格、逗号、句点、单引号和破折号

u PCRE_UTF8 修饰符,此修饰符打开与 Perl 不兼容的 PCRE 附加功能。

if(preg_match("/^[\p{L}\s,.'-]+$/u", "お元気ですか你好吗how are you你好嗎,.'-") === 1) {
echo "match";
}
else {
echo "no match";
}

// match

if(preg_match("/^[\p{L}\s,.'-]+$/u", "お元気ですか你好吗how are you你好_嗎-,.'") === 1) {
echo "match";
}
else {
echo "no match";
}

// no match as there are underscore in 你好_嗎

关于php - 中文/日文字母的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35102342/

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