php用正则表达抓取网页中文章(php下正则匹配中文的表达式是什么样的?(图))
优采云 发布时间: 2021-12-26 18:20php用正则表达抓取网页中文章(php下正则匹配中文的表达式是什么样的?(图))
首先unicode中文区的0x4e00-0x9fa5可以判断一个字符串是否都是java或js等编程语言有unicode编码的字符串/^[\u4e00-\u9fa5]+ $/中文
那么php中的字符编码就看页面了,gbk的字符编码是gbk的utf-8,之前有一个表达式“/^[\x80-\xff]+$/”也是一样can only match 是否收录
非ascll字符,汉字只是较小的区域之一,不是很准确
因为我的页面编码是utf-8,所以把js表达式移到了php中,提醒PCRE不支持“\u”等很多乱七八糟的东西
查资料得知PHP的正则中有个东西叫字符组,用\x{...}表示,所以我把表达式改成"/^[\x{4e00}- \x{9fa5}]+$/ "也提示"\x"表达式后面的数字太大
查资料得知可以使用修正模式“u”让程序将以下内容视为unicode字符,所以我将其改为“/^[\x{4e00}-\x{9fa5} ]+$/u" 测试成功
所以php下匹配中文的正则表达式为"/^[\x{4e00}-\x{9fa5}]+$/u" 这只适用于utf-8编码