国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

PHP擴展之文本處理(二)——PCRE正則表達式語法4——Unicode字符屬性

瀏覽:133日期:2022-09-15 18:54:18

自從 PHP 4.4.0 和 5.1.0, 三個額外的轉義序列在選用?UTF-8模式時用于匹配通用字符類型。他們是:

p{xx}一個有屬性 xx 的字符P{xx}一個沒有屬性 xx 的字符X一個擴展的 Unicode 字符

上面?xx?代表的屬性名用于限制 Unicode 通常的類別屬性。 每個字符都有一個這樣的確定的屬性,通過兩個縮寫的字母指定。 為了與 perl 兼容, 可以在左花括號 { 后面增加 ^ 表示取反。比如:?p{^Lu}?就等同于?P{Lu}。

如果通過?p?或?P?僅指定了一個字母,它包含所有以這個字母開頭的屬性。 在這種情況下,花括號的轉義序列是可選的。

p{L}pL

指定大小寫不敏感匹配對這些轉義序列不會產生影響,比如,?p{Lu}?始終匹配大寫字母。

Unicode 字符集在具體文字中定義。使用文字名可以匹配這些字符集中的一個字符。例如:

p{Greek}P{Han}

不在確定文字中的則被集中到?Common。

X?轉義匹配任意數量的 Unicode 字符。?X?等價于?(?>PMpM*)

也就是說,它匹配一個沒有 ”mark” 屬性的字符,緊接著任意多個由 ”mark” 屬性的字符。 并將這個序列認為是一個原子組(詳見下文)。 典型的有 ”mark” 屬性的字符是影響到前面的字符的重音符。

用 Unicode 屬性來匹配字符并不快, 因為 PCRE 需要去搜索一個包含超過 15000 字符的數據結構。 這就是為什么在 PCRE中 要使用傳統的轉義序列d、?w?而不使用 Unicode 屬性的原因。

標簽: PHP
相關文章:
主站蜘蛛池模板: 博白县| 阜康市| 辛集市| 枣阳市| 莱阳市| 浦东新区| 都昌县| 东乡| 鄂伦春自治旗| 长武县| 绵竹市| 中山市| 松原市| 渝中区| 江西省| 尚义县| 称多县| 惠东县| 清苑县| 榆中县| 蕲春县| 尼木县| 沙河市| 五河县| 菏泽市| 吴桥县| 商南县| 巍山| 闽清县| 哈密市| 湛江市| 东乌珠穆沁旗| 铁岭县| 万源市| 茂名市| 麦盖提县| 哈密市| 仁寿县| 海伦市| 南木林县| 西乌珠穆沁旗|