qt QRegularExpression 中文不包括“标点符号 特殊字符“ 的正则表达式

前端之家收集整理的这篇文章主要介绍了qt QRegularExpression 中文不包括“标点符号 特殊字符“ 的正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

QRegularExpressionrx("(?![\\p{P}\\p{S}])[\u4e00-\u9fa5]");


《1》负预测模式

(?!模式)

负预测先行。匹配与模式不匹配的搜索字符串。找到一个匹配项后,将在匹配文本之前开始搜索下一个匹配项。不会保存匹配项以备将来之用。

\b(?!th)\w+\b与不以“th”开头的单词匹配。

在该模式中,\b与一个字边界匹配。对于搜索字符串“ quick ”,这与第一个空格匹配。(?!th)与非“th”字符串匹配。这与“qu”匹配。

从该匹配项开始,\w+与一个字匹配。这与“quick”匹配。

https://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.100).aspx

http://stackoverflow.com/questions/2078915/a-regular-expression-to-exclude-a-word-string



《2》unicode属性

\p{P}
小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。中括号内的“P”表示Unicode 字符集七个字符属性之一:标点字符。
其他六个属性
L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符。
*注:此语法部分语言不支持,例:javascript。
http://www.regular-expressions.info/unicode.html

《3》 中文的unicode范围

匹配中文字符的正则表达式: [u4e00-u9fa5]

猜你在找的正则表达式相关文章