2011-12-23 86 views
3

我检查了Qt的文档,它完全支持unicode与\ xhhhh的匹配,但是这样我就只能匹配已知的unicode,那么我如何识别unicode字符串呢?如何将连续unicode与QRegExp进行匹配?

谢谢!

@Update:

QString line; 
if (line.indexOf(QRegExp ("\\p{L}"))) != -1) 
{ 
/// blabla 
} 

它不工作,我没有看到流动的if

回答

0

我不知道Qt的常规expresions里面去,而是根据doc

QRegExp模仿Perl的正则表达式语言。它完全支持Unicode。

我假设它应该支持Unicode属性,脚本和块。有关详细概述,请参阅www.regular-expressions.info

你可以例如使用属性号码\p{L}来将unicode代码点与属性字母进行匹配。为了匹配只由这样的代码点的字符串中使用这样的

^\p{L}+$ 
+0

请参阅我的更新;-P – daisy 2011-12-23 08:12:58

+0

如果字符串中有一个字母,你的表达应符合(我假设QRegExp允许这种语法)。我不知道你的语法是否正确地匹配正则表达式和你的行的内容是什么。用一个没有外来字母的字符串进行测试,但在其中包含一个“普通”字母,并查看它是否与此匹配。 – stema 2011-12-23 08:48:21