首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将重音字符与PHP preg匹配?

如何将重音字符与PHP preg匹配?
EN

Stack Overflow用户
提问于 2010-01-26 00:28:54
回答 3查看 15.8K关注 0票数 20

我希望我的用户不仅可以选择填写字母和数字,还可以填写“á”、“é”等“特殊”字母。但是,我不希望他们能够使用“!”、“@”、“%”等符号。

有没有一种方法可以写一个正则表达式来完成这个任务呢?(最好不要详细说明每个特殊字母。)

现在我有了:

代码语言:javascript
复制
$reg = '/^[\w\-]*$/';
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-26 00:43:20

您可以使用Unicode character properties来描述这些字符:

代码语言:javascript
复制
/^[\p{L}-]*$/u

\p{L}描述Unicode字母字符的类别。

票数 41
EN

Stack Overflow用户

发布于 2010-01-26 00:42:02

哪些字符被认为是“单词字符”取决于区域设置。您应该设置一个在其自然字母表中包含这些字符的区域设置,并对正则表达式使用/u修饰符,如下所示:

代码语言:javascript
复制
$str = 'perché';
setlocale(LC_ALL, 'it_IT@euro');
echo preg_match('#^\w+$#u', $str);
票数 5
EN

Stack Overflow用户

发布于 2010-01-26 00:42:47

您可以尝试使用这个正则表达式:

代码语言:javascript
复制
$reg = '~[^\\pL\d]+~u';

它还捕获重音字符

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2133758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档