我有一个巨大的代码文件,其中有很多行,如下所示:
Enterprise::TextMessageBox::Show(String::Format(S"Възникнал е проблем:\n\n{0}", e->Message), S"Грешка");
我想做的是用我提供的另一个文本找到带有西里尔符号字符串的代码的每个部分。我的问题是我似乎无法做出足够好的表达,所以我可以听懂台词。
另一个问题是,有时这些行只包含一个这样的字符串,但有时它们在一行上包含 2 个或更多字符串。
每个这样的字符串都是相似的,看起来像这样:
S"some cyrilic symbols"
我尝试用 Regex 类来实现它,但我似乎无法为字符串创建足够好的模式。
好的,您可以匹配 Unicode 属性。尝试这样的事情
Regex TheRegex = new Regex(@"S""[\p{IsCyrillic}\p{P}\p{N}\s]*""");
\p{IsCyrillic}
匹配任何西里尔字符
\p{P}
是标点符号的 unicode 类别
\p{N}
是任何语言中数字的 unicode 类别
\s
匹配一个空格
请参阅 msdn 上的此处 http://msdn.microsoft.com/en-us/library/20bw873z.aspx#CategoryOrBlock有关 unicode 类别的更多信息,请参见此处正则表达式.info http://www.regular-expressions.info/unicode.html#prop.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)