用正則表達(dá)式匹配字符串中漢字及中文標(biāo)點(diǎn)符號(hào)
問題:
在寫項(xiàng)目時(shí)遇到需要匹配字符串中所有的漢字并且包括簡(jiǎn)單的中文標(biāo)點(diǎn)符號(hào)
比如:
匹配下面這個(gè)完成的字符串
let str = '上傳文件,你好呀,我很好';
網(wǎng)上能夠查到很多匹配漢字的正則
let reg = /[\u4e00-\u9fa5]+/g; console.log(str.match(reg)); // 結(jié)果如下 ['上傳文件', '你好呀', '我很好']
從結(jié)果可以看出上面寫的正則沒有匹配到標(biāo)點(diǎn)符號(hào),,所以將完整的字符串(str)分隔開了
又從網(wǎng)上查找匹配中文標(biāo)點(diǎn)的正則
// 匹配中文標(biāo)點(diǎn)的正則 \u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e // 可以匹配以下中文標(biāo)點(diǎn)符號(hào)(順序是一一對(duì)應(yīng)的) // `。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 【 】 ~`
Ps:
如果上面沒有想要的標(biāo)點(diǎn)符號(hào),可以上網(wǎng)查找將中文符號(hào)轉(zhuǎn)換成Unicode編碼添加在表達(dá)式中即可
將剛才編寫的正則表達(dá)式進(jìn)行下簡(jiǎn)單的修改
let reg = /[(\u4e00-\u9fa5)(\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e)]+/g console.log(str.match(reg)); // 打印結(jié)果 ['上傳文件,你好呀,我很好']
可以看到這次結(jié)果是我們想要的形式,整個(gè)字符串都匹配到了~
補(bǔ)充:
Unicode 編碼并不只是為某個(gè)字符簡(jiǎn)單定義了一個(gè)編碼,而且還將其進(jìn)行了歸類。
\pP 其中的小寫 p 是 property 的意思,表示 Unicode 屬性,用于 Unicode 正表達(dá)式的前綴。
大寫 P 表示 Unicode 字符集七個(gè)字符屬性之一:標(biāo)點(diǎn)字符。
其他六個(gè)是
- L:字母;
- M:標(biāo)記符號(hào)(一般不會(huì)單獨(dú)出現(xiàn));
- Z:分隔符(比如空格、換行等);
- S:符號(hào)(比如數(shù)學(xué)符號(hào)、貨幣符號(hào)等);
- N:數(shù)字(比如阿拉伯?dāng)?shù)字、羅馬數(shù)字等);
- C:其他字符
總結(jié)
到此這篇關(guān)于用正則表達(dá)式匹配字符串中漢字及中文標(biāo)點(diǎn)符號(hào)的文章就介紹到這了,更多相關(guān)正則匹配漢字及中文標(biāo)點(diǎn)符號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解正則表達(dá)式之?dāng)?shù)字驗(yàn)證
這篇文章將介紹一些常用的數(shù)字驗(yàn)證方法,包括整數(shù)驗(yàn)證、國(guó)內(nèi)電話號(hào)碼驗(yàn)證、身份證號(hào)碼驗(yàn)證、以及IP地址驗(yàn)證等等驗(yàn)證方法,有興趣的可以了解一下。2016-12-12正則表達(dá)式中的"g"是什么意思附件參數(shù)g的用法
為了能夠便于大家對(duì)正則表達(dá)式有一個(gè)更為綜合和深刻的認(rèn)識(shí),我將一些關(guān)鍵點(diǎn)和容易犯糊涂的地方再系統(tǒng)總結(jié)一下2014-07-07[js]一個(gè)只刪除所有font標(biāo)簽的正則函數(shù)
[js]一個(gè)只刪除所有font標(biāo)簽的正則函數(shù)...2007-09-09JavaScript中常用的正則表達(dá)式日常整理(全)
本篇文章是小編日常整理有關(guān)js常用的正則表達(dá)式,比較全面,對(duì)大家學(xué)習(xí)javascript正則表達(dá)式非常有用,需要的朋友一起學(xué)習(xí)吧2015-09-09asp match正則函數(shù)使用Matchs實(shí)例
asp matchs函數(shù)提供了對(duì)正則表達(dá)式匹配的只讀屬性的訪問。一直都用這個(gè)函數(shù),沒想到本站竟然沒有這類文章,汗一個(gè),最近我會(huì)多加一些這樣的文章2008-08-08PHP正則表達(dá)式基本函數(shù) 修飾符 元字符和需轉(zhuǎn)義字符說明
寫在前面:PHP正則的執(zhí)行效率并不高,而且比較耗資源,能不能則不用。2010-07-07