我应该如何在正则表达式中包含重音符号?我想从a-z
和äáàëéèíìöóòúùñç
检测字母,但这个表达式不起作用:正则表达式和重音符号
$pattern = '/^([a-zäáàëéèíìöóòúùñç])/i';
我应该如何在正则表达式中包含重音符号?我想从a-z
和äáàëéèíìöóòúùñç
检测字母,但这个表达式不起作用:正则表达式和重音符号
$pattern = '/^([a-zäáàëéèíìöóòúùñç])/i';
在这里你可以找到我的问题的解决方案: Using of regex whith preg_replace_callback ,似乎正则表达式必须是这样的:$ pattern ='/(\p{L})(.+)/iu';
你可以尝试将u
标志添加到您的正则表达式(见PCRE_UTF8上modifiers页)
您可以尝试使用预定义的类来匹配所有字母,例如:
[\p{L}]
这将适用于大多数正则表达式引擎。
你可以阅读更多关于正则表达式的Unicode这里,例如:http://www.regular-expressions.info/unicode.html
这又是怎么用的?我的意思是,$ pattern ='/ ^([\ p {L}])/';没有解决我的问题... – jprog
如何:
cat test.php
<?php
preg_match('/\pL/u', 'é', $m);
print_r($m);
?>
php -q test.php
Array
(
[0] => é
)
你正在学什么语言?你可以显示你正在测试的例子字符串 – jorgehmv
我的例子字符串可能是'ésta',我正在西班牙语..这正则表达式不检测'é' – jprog
对不起,我的意思是什么编程语言..我不知道为什么'我'在最后,是你的编程语言特定的东西吗? – jorgehmv