正则表达式⼊门(六)匹配unicode和其他字符
匹配unicode字符
有时候我们需要匹配ASCII范围之外的字符。
"Qu’est-ce que la tolérance? c’est l’apanage de l’humanité. Nous sommes tous pétris de faiblesses et d’erreurs; pardonnons-nous réciproquement nos sottises, c’est la première loi de la nature." —Voltaire (1694–1778 What is tolerance? It is the consequence of humanity. We are all formed of frailty and error;let us pardon reciprocally each other's folly--that is the first law of nature.
我们将伏尔泰的名⾔输⼊到中,然后输⼊正则表达式
\u00e9
\u之后跟着的⼗六进制值00e9,这⾥不区分⼤⼩写,00E9也可以,00E9对接⼗进制值233,在ASCII(0~127)之外。
注意在Regexpal中字母é,即⼩写e加上了⼀个重⾳符,被标亮了,这是因为在unicode中é就是U+00E9,所以\u00e9可以匹配到它。
Regexpal是javascript的正则表达式实现。javascript也允许使⽤以下语法实现:
\xe9
现在我们在其他正则引擎中试⼀下。是.NET编写的。
古池
蛙⾶び込む
⽔の⾳
—芭蕉 (1644–1694)
At the ancient pond
a frog plunges into
the sound of water.
—Basho (1644–1694)
以上是⽇本诗⼈松尾芭蕉的俳句。
unicode所有字符将其输⼊regexhero,然后输⼊正则
\u6c60
这是单词pond池塘所对应的⽇⽂字符的代码点。
另外,也可以匹配⼀下长破折号
\u2014
或短破折号
\u2013
⽤⼋进制数匹配字符
在正则中,⽤⼋进制数就是在反斜线后加三位数字。
⽐如
\351
等同于
\u00e9
匹配控制字符
代码库的⾥是所有ASCII字符,⼀个字符⼀⾏,⼀共128⾏。
在正则表达式中,像这样来指定⼀个控制字符:
\cx
其中x就是你想匹配的控制字符
匹配unicode和其他字符
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论