您好,登錄后才能下訂單哦!
本篇內容介紹了“如何用web正則表達式匹配字符串中漢字及中文標點符號”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在寫項目時遇到需要匹配字符串中所有的漢字并且包括簡單的中文標點符號
匹配下面這個完成的字符串
let str = '上傳文件,你好呀,我很好';
網上能夠查到很多匹配漢字的正則
let reg = /[\u4e00-\u9fa5]+/g; console.log(str.match(reg)); // 結果如下 ['上傳文件', '你好呀', '我很好']
從結果可以看出上面寫的正則沒有匹配到標點符號,,所以將完整的字符串(str)分隔開了
又從網上查找匹配中文標點的正則
// 匹配中文標點的正則 \u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e // 可以匹配以下中文標點符號(順序是一一對應的) // `。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 【 】 ~`
如果上面沒有想要的標點符號,可以上網查找將中文符號轉換成Unicode編碼添加在表達式中即可
將剛才編寫的正則表達式進行下簡單的修改
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)); // 打印結果 ['上傳文件,你好呀,我很好']
可以看到這次結果是我們想要的形式,整個字符串都匹配到了~
Unicode 編碼并不只是為某個字符簡單定義了一個編碼,而且還將其進行了歸類。
\pP 其中的小寫 p 是 property 的意思,表示 Unicode 屬性,用于 Unicode 正表達式的前綴。
大寫 P 表示 Unicode 字符集七個字符屬性之一:標點字符。
其他六個是
L:字母;
M:標記符號(一般不會單獨出現);
Z:分隔符(比如空格、換行等);
S:符號(比如數學符號、貨幣符號等);
N:數字(比如阿拉伯數字、羅馬數字等);
C:其他字符
“如何用web正則表達式匹配字符串中漢字及中文標點符號”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。