【发布时间】:2011-12-23 02:24:59
【问题描述】:
我查看了 Qt 的文档,它完全支持 unicode 与 \xhhhh 的匹配,但这样我只能匹配已知的 unicode,那么我如何识别 unicode 字符串?
谢谢!
@更新:
QString line;
if ( line.indexOf(QRegExp ("\\p{L}")) ) != -1 )
{
/// blabla
}
它不起作用,我没有看到 if 内部的流程
【问题讨论】:
我查看了 Qt 的文档,它完全支持 unicode 与 \xhhhh 的匹配,但这样我只能匹配已知的 unicode,那么我如何识别 unicode 字符串?
谢谢!
@更新:
QString line;
if ( line.indexOf(QRegExp ("\\p{L}")) ) != -1 )
{
/// blabla
}
它不起作用,我没有看到 if 内部的流程
【问题讨论】:
我不知道Qt正则表达式,但根据doc
QRegExp 以 Perl 的正则表达式语言为模型。它完全支持Unicode。
我假设它应该支持 Unicode 属性、脚本和块。有关详细概述,请参阅www.regular-expressions.info。
你可以例如使用属性字母 \p{L} 将 unicode 代码点与属性字母匹配。要匹配仅由此类代码点组成的字符串,请使用类似这样的内容
^\p{L}+$
【讨论】:
QRegularExpression{"^\\p{L}+$"} 有效