Когда я внедряю объект регулярного выражения в определенную локаль, как он влияет на поведение сопоставления? Это влияет на сортировку или что-то еще? Кажется, я ничего не могу найти.
Локальное поведение в библиотеке регулярных выражений?
Ответ 1
Он затрагивает, по крайней мере, следующее:
- Сопоставление: регулярное выражение
[a-f]
, проникнутое французским языком, должно соответствовать символу é. - Аналогично,
\w
в финском языке должен совпадать с символом ä (но[a-z]
не должен, так как å, ä и ö складываются после z на финском языке. Однако на немецком языке[a-z]
должен соответствовать ä.) - В совместимой с Unicode языковой версией следует использовать алгоритм Unicode, чтобы сформированные формы символа соответствовали разложенной форме и наоборот.
- С PREIX-совместимым регулярным выражением (основной, расширенный, awk, grep и egrep) классы символов POSIX должны быть локали-
[=e=]
должен соответствовать é во французском языке, но не в английском языке.
Ответ 2
В испанском языке обратите внимание, что "ch" и "ll" больше не считаются буквами в алфавите, так как это было изменено соответствующими объектами. Я не мог найти точную дату, но сейчас "ch" и "ll" - две буквы:
http://en.wikipedia.org/wiki/Ll
Я думаю, что реализация теперь отражает этот факт.