我应该如何在正则表达式中包含口音?我想检测来自a-z
and的字母,äáàëéèíìöóòúùñç
但是这个正则表达式不起作用:
$pattern = '/^([a-zäáàëéèíìöóòúùñç])/i';
我应该如何在正则表达式中包含口音?我想检测来自a-z
and的字母,äáàëéèíìöóòúùñç
但是这个正则表达式不起作用:
$pattern = '/^([a-zäáàëéèíìöóòúùñç])/i';
您可以尝试使用预定义的类来匹配所有字母,例如:
[\p{L}]
这将适用于大多数正则表达式引擎。
您可以在此处阅读有关正则表达式中 unicode 的更多信息,例如:http ://www.regular-expressions.info/unicode.html
怎么样:
cat test.php
<?php
preg_match('/\pL/u', 'é', $m);
print_r($m);
?>
php -q test.php
Array
(
[0] => é
)
您可能会尝试将u
标志添加到您的正则表达式(请参阅修饰符页面上的PCRE_UTF8 )
如果您删除最后一个“i”怎么办,我正在使用Rubular 对其进行测试,没有它它也可以工作(也没有,/
因为这些是特定于 php 的。)
所以基本上像这样在这个页面中测试它:^([a-zäáàëéèíìöóòúùñç])
在这里你可以找到我的问题的解决方案: 使用正则表达式和 preg_replace_callback ,似乎正则表达式必须像: $pattern = '/(\p{L})(.+)/iu';