匹配带重音符号的字符的快捷方式

4
在正则表达式中,有一些快捷方式,例如\wa-z
同样的,是否有一种替代方法可以将所有想要的带重音符号(例如将[éèàêâûôîùÈ...]转换为)都写出来呢?

哪种语言/版本? - Robin
pcre (我在标签中添加了它以提高方便性) - merours
我认为这很棘手,因为“强调符号”的定义没有普遍的标准。[sic] - MSalters
1个回答

2

例如:

$t = "Normal text éèàêâûôîùÈ more text";

preg_match_all('/[^\P{Latin}\x00-\x80]+/u', $t, $m);
print_r($m);

结果:

Array
(
    [0] => Array
        (
            [0] => éèàêâûôîùÈ
        )

)

基本上,这个选择所有的“拉丁”字符(=字母),除了那些在较低的 ASCII 范围内(=a..z)的字符。不确定这是否可以被称为“快捷方式” ;)


当然,这完全忽略了带有变音符号的非拉丁文本。 - MSalters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接