Регулярное выражение с иностранными языками - PullRequest
2 голосов
/ 23 февраля 2010

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

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

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

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

([^your_delimiter]*?)

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

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

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

1 голос
/ 23 февраля 2010

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

...