linux字符集对正则表达式有什么影响

 我来答
cincoutvc
2017-06-30 · TA获得超过3899个赞
知道大有可为答主
回答量:2455
采纳率:90%
帮助的人:2635万
展开全部
有时候为了让Linux终端能够显示中文,会将终端的编码字符集设置为GB2312简体中文编码(就是将LANG环境变量设置成zh_CN.gb2312),这个时候对正则表达式的结果是有影响的。
比如,zh_CN.gb2312这个语系编码的数字及大小写英文的顺序是:0 1 2 3 4 5 6 ...... a A b B c C d D e E ...... z Z,当我们使用表示大写字符的[A-Z]时,在zh_CN.gb2312语系编码下,就不是表示大写字符了,而是表示“A b B c C d D e E ...... z Z”这一堆字符。
所以,在使用兼容于POSIX标准的正则表达式的时候,一般是使用“LANG=C”这个语系编码。另外,尽量使用特殊符号来表示英文和数字,比如用[:upper:]来代替[A-Z]。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式