Регулярное выражение с иностранными языками

У меня есть функция, которую я использовал несколько раз в различных файлах, которая имеет подпись, например:

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

и я хочу вытащить сообщения на английском, испанском и французском языках, а затем вывести их в CSV, чтобы люди, которые действительно знают эти языки, могли сказать мне, что я ДОЛЖЕН поместить туда.

В любом случае, я сталкиваюсь с тем, что некоторые французские и испанские сообщения не отображаются из-за акцентированных символов и одинарных кавычек.

Это программа vb.net.

редактировать

С языком проблем не было, моя проблема была на самом деле с регулярным выражением и моим полным отсутствием понимания регулярных выражений.

2 ответа

Решение

Зависит от используемой вами библиотеки регулярных выражений. Реализация регулярных выражений Sane использует UTF-8 и не имеет таких проблем, но было бы полезно узнать больше о том, какой язык вы используете, какую библиотеку регулярных выражений и т. Д.

Если в реализации вашего регулярного выражения есть флаг DOTALL, вы можете установить его.

В качестве альтернативы, измените регулярное выражение, чтобы захватить вместо него отрицательный класс символов, например так:

([^your_delimiter]*?)

с your_delimiter, являющимся символом (ами), сразу после строки, которую вы хотите захватить.

Смотрите это для дальнейшего обсуждения:

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

Другие вопросы по тегам