正则表达式库中特定于区域设置的行为
Locale specific behavior in the regex library?
当我向regex对象注入特定的语言环境时,它如何影响匹配行为?它会影响排序规则吗?我似乎找不到任何解释。
它至少会影响以下内容:
- 排序规则:充满法语区域设置的正则表达式
[a-f]
应该与字符é匹配 - 类似地,芬兰语区域设置中的
w
应该与字符ä匹配(但[a-z]
应该而不是,如芬兰语中z后面的å、ä和öcollate。然而,在德语中,[a-z]
应该与ä匹配。) - 在Unicode兼容的区域设置中,应该使用Unicode等效算法,以便字符的组合形式与分解形式匹配,反之亦然
- 使用与POSIX兼容的regex风格(基本、扩展、awk、grep和egrp),POSIX字符类应该具有区域设置意识:
[=e=]
应该在法语区域设置中匹配é,但在英语区域设置中不匹配
在西班牙语语言环境中,请注意"ch"answers"ll"不再被视为字母表中的单个字母,因为这是由相关实体更改的。我找不到确切的日期,但现在"ch"answers"ll"是两个字母:
http://en.wikipedia.org/wiki/Ll
我认为现在的实现反映了这一事实。
相关文章:
- 在 Linux 中存储区域设置名称的缓冲区大小应该是多少?
- 提升区域设置规范化带状字符,但不规范化重音
- 是否有任何区域设置会影响宽字符编码?
- 提升获取文本的区域设置"Conversion failed"
- 提升 1.41.0 : 提升::区域设置替代方案?
- std::locale 向"en_US.UTF-8"区域设置抛出runtime_error异常
- 默认情况具有哪个区域设置
- 区域设置是否有定义负号的方面?
- QT 将文本翻译成特定的区域设置
- 我可以强制 QFileDialog 使用系统区域设置而不是系统语言吗?
- 如何调用 GetAltMonthNames 来填充外部区域设置月份字符串的安全数组
- 提升区域设置不完整类型boundary_indexing<char32_t>
- 默认区域设置"root"在 ICU 中如何工作?
- std::regex总是可以识别区域设置吗?
- std::string 的运算符<是否应该受到当前区域设置的影响?
- C++为任何区域设置区域设置
- 如何显示与系统不同的区域设置的QDate月
- C++获取用户首选的编码或区域设置编码
- 使用cstring.format()中区域设置的小数分离器
- 当区域设置需要"3,14"时,如何使用scanf解析像"3.14"这样的数字