Регулярное выражение с иностранными языками
У меня есть функция, которую я использовал несколько раз в различных файлах, которая имеет подпись, например:
Translate("English Message", "Spanish Message", "French Message")
и я хочу вытащить сообщения на английском, испанском и французском языках, а затем вывести их в CSV, чтобы люди, которые действительно знают эти языки, могли сказать мне, что я ДОЛЖЕН поместить туда.
В любом случае, я сталкиваюсь с тем, что некоторые французские и испанские сообщения не отображаются из-за акцентированных символов и одинарных кавычек.
Это программа vb.net.
редактировать
С языком проблем не было, моя проблема была на самом деле с регулярным выражением и моим полным отсутствием понимания регулярных выражений.
2 ответа
Зависит от используемой вами библиотеки регулярных выражений. Реализация регулярных выражений Sane использует UTF-8 и не имеет таких проблем, но было бы полезно узнать больше о том, какой язык вы используете, какую библиотеку регулярных выражений и т. Д.
Если в реализации вашего регулярного выражения есть флаг DOTALL, вы можете установить его.
В качестве альтернативы, измените регулярное выражение, чтобы захватить вместо него отрицательный класс символов, например так:
([^your_delimiter]*?)
с your_delimiter, являющимся символом (ами), сразу после строки, которую вы хотите захватить.
Смотрите это для дальнейшего обсуждения: