linux 之正规表达式
来源:互联网 发布:最终幻想猫女捏脸数据 编辑:程序博客网 时间:2024/05/01 18:37
为什么语系的资料会影响到正规表示法的输出结果呢?举例来说,在英文大小写的编码顺序中,zh_TW.big5及C这两种语系的输出结果分别如下:
- LANG=C 时:0 1 2 3 4 ... ABCD ... Z abcd ...z
- LANG=zh_TW 时:0 1 2 3 4 ... a A b B c C d D ... z Z
上面的顺序是编码的顺序,我们可以很清楚的发现这两种语系明显就是不一样!如果你想要撷取大写字元而使用[AZ]时,会发现LANG=C确实可以仅捉到大写字元(因为是连续的) ,但是如果LANG=zh_TW.big5时,就会发现到,连同小写的bz也会被撷取出来!因为就编码的顺序来看, big5语系可以撷取到『 A b B c C ... z Z 』这一堆字元哩!所以,使用正规表示法时,需要特别留意当时环境的语系为何,否则可能会发现与别人不相同的撷取结果喔!
由于一般我们在练习正规表示法时,使用的是相容于POSIX的标准,因此就使用『 C 』这个语系另外,为了要避免这样编码所造成的英文与数字的撷取问题,因此有些特殊的符号我们得要了解一下的!这些符号主要有底下这些意义:
特殊符号代表意义[:alnum:]代表英文大小写字元及数字,亦即0-9, AZ, az[:alpha:]代表任何英文大小写字元,亦即AZ, az[:blank:]代表空白键与[Tab] 按键两者[:cntrl:]代表键盘上面的控制按键,亦即包括CR, LF, Tab, Del.. 等等[:digit:]代表数字而已,亦即0-9[:graph:]除了空白字元(空白键与[Tab] 按键) 外的其他所有按键[:lower:]代表小写字元,亦即az[:print:]代表任何可以被列印出来的字元[:punct:]代表标点符号(punctuation symbol),亦即:" ' ? ! ; : # $...[:upper:]代表大写字元,亦即AZ[:space:]任何会产生空白的字元,包括空白键, [Tab], CR 等等[:xdigit:]代表16 进位的数字类型,因此包括: 0-9, AF, af 的数字与字元 0 0
- linux 之正规表达式
- linux 正规表达式
- linux 正规表达式 & 文件格式处理
- Linux学习十七、正规表达式练习题
- 正规表达式
- 正规表达式
- 正规表达式
- 正规表达式
- 正规表达式
- 轻松学Shell之认识正规表达式
- Linux基础之正规表示法
- Linux命令中的正规表达式元字符大解析
- PHP中的正规表达式
- 常用正规表达式
- 几种正规表达式
- 正规表达式 例子
- 电话号码的正规表达式!
- java 正规表达式学习
- Android 开源项目分类汇总
- StringBuffer和StringBuilder的区别
- 通过继承Thread类和通过实现Runnable接口 创建线程的区别
- BZOJ 2330: [SCOI2011]糖果 查分约束
- spring多数据源配置
- linux 之正规表达式
- 26、80 Remove Duplicates from Sorted Array(重复1次或2次)--Array
- C标准库和glibc(C运行库)的关系
- Mybatis ResultMap Collection 复合主键
- 学习笔记之JavaSE(44)--IO流6
- MySql下载安装及问题解决
- Android 统计apk中方法的数量
- 计算机为什么使用二进制,加减法计算为什么使用补码,补码到底是怎么回事?
- 二叉查找树C语言实现及其可视化