文档章节

php正则表达式 unicode编码属性

起什么name呢
 起什么name呢
发布于 2017/04/17 00:14
字数 295
阅读 27
收藏 0
/**
 * Preprocess.
 *
 * @param string $string
 *
 * @return string
 */
protected function prepare($string)
{
    $string = preg_replace_callback('~[a-z0-9_-]+~i', function ($matches) {
        return "\t".$matches[0];
    }, $string);

    return preg_replace("~[^\p{Han}\p{P}\p{Z}\p{M}\p{N}\p{L}\t]~u", '', $string);
}

今天在看laravel的一个汉语转拼音的扩展包的时候,遇到这么一段代码,有两个地方看不懂。

第一个 正则中用的 ~~ 符号

看完后没有查阅到任何可以帮助到我的资料,于是经过实验后发现~和/的作用一样,表示这是一个正则表达式的定界符。

第二个 最后一段正则\p{Han}\p{P}

查看了php 官方手册

http://php.net/manual/zh/regexp.reference.unicode.php

里面的解释还是有些一知半解的感觉,没有理解其中的一段话(可能是翻译不太贴切导致的)

Unicode 字符集在具体文字中定义。使用文字名可以匹配这些字符集中的一个字符。例如:

  • \p{Greek}
  • \P{Han}

经实验,理解为可以匹配某种语言的一个字符。Han就表示中文

© 著作权归作者所有

共有 人打赏支持
起什么name呢
粉丝 1
博文 39
码字总数 12406
作品 0
朝阳
高级程序员
加载中

评论(1)

安正超
安正超
哈哈,作者来解释一下好了:

汉字:\p{Han}
标点符号:\p{P}
分隔符:\p{Z}
标志符号:\p{M}
数字:\p{N}
字母:\p{L}

> https://www.regular-expressions.info/unicode.html:laughing:
正则表达式和其在OC中的的使用

正则表达式和其在OC中的的使用 最近对正则表达式(regex)很感兴趣, 于是了解了一下, 正则表达式是所有语言都通用的一套查找字符串的方法, 在网上找了很多入门教程, 也看了很多的教程, 也能写出...

hell03W
2016/03/06
259
0
JS基础-String对象手册

String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法 String对象方法 方法 描述 anchor() 创建 HTML 锚。 big() 用...

ZHAO_JH
07/05
0
0
ES9已经来了 Are you ready?

ES9 前言 改篇文章主要是介绍了ES9新加的一些新特性。 1. 异步迭代 在的某些时刻,你可能尝试在同步循环中调用异步函数。例如: 这段代码不会正常运行,下面这段同样也不会: 这段代码中,循...

霖呆呆
08/07
0
0
Linux/Unix工具与正则表达式的POSIX规范

对正则表达式有基本了解的读者,一定不会陌生『d』、『[a-z]+』之类的表达式,前者匹配一个数字字符,后者匹配一个以上的小写英文字母。但是如果你用过vi、grep、awk、sed之类Linux/Unix下的...

skypeGNU1
2016/03/12
0
0
python编码问题

python的编码问题一直迷糊得很。向各位请教一下。 1.gbk编码和utf-8编码的字符串进行比较(比如:=,>,<,find)时是比较的unicode吧? 经测试 #encoding:utf-8 pirnt 'abc' in 'abc中国人' #...

IdleMan
2012/12/26
674
3

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部