用外语正则表达

时间:2010-02-23 13:42:25

标签: .net regex character-encoding spoken-language

我有一个函数,我在各种文件中使用了很多次,它们的签名如下:

Translate("English Message", "Spanish Message", "French Message")

我希望提取英语,西班牙语和法语消息,然后将它们输出到csv中,以便真正了解这些语言的人可以告诉我应该放在那里的内容。

无论如何,我遇到的是由于重音字符和单引号,一些法语和西班牙语消息没有显示出来。

这是一个vb.net程序。

修改

语言没有问题,我的问题实际上是正则表达式,而我完全不了解正则表达式。

2 个答案:

答案 0 :(得分:1)

取决于您正在使用的正则表达式库。 Sane正则表达式实现使用UTF-8并且没有这样的问题,但更多细节将有助于您使用的是什么,正则表达式库等。

答案 1 :(得分:1)

如果您的语言的正则表达式实现中有DOTALL标志,您可能需要设置它。

或者,更改正则表达式以捕获否定的字符类,如下所示:

([^your_delimiter]*?)

your_delimiter是紧跟在你想要捕获的字符串之后的字符。

有关进一步讨论,请参阅此内容:

http://en.wikipedia.org/wiki/Regular_expression#Unicode