正则表达式库中的区域设置特定行为?

Ale*_*ban 19 c++ regex locale c++11

当我使用特定的语言环境灌注正则表达式对象时,它如何影响匹配行为?它会影响整理或其他任何事情吗?我似乎无法在任何地方找到解释.

Joh*_*esD 42

它至少影响以下内容:

  • 整理:[a-f]充满法语区域设置的正则表达式应与角色é匹配.
  • 同样,\w在芬兰语言环境应该匹配字符(但[a-z]应该没有,因为A,A和O芬兰Z后整理.在德国,但是,[a-z]应该匹配.)
  • 在Unicode兼容的语言环境中,应使用Unicode等价算法,以便组合形式的字符与分解形式匹配,反之亦然.
  • 使用POSIX兼容的正则表达式(basic,extended,awk,grep和egrep)时,POSIX字符类应该是语言环境感知的:[=e=]应该在法语区域设置中匹配é,而在英语区域设置中不匹配.