1.3 正则表达式简介正则表达式在文本编辑软件中应用很多,如查找字符串、匹配字符串、替换字符串等。通俗的说,正则表达式是一个公式,它用来描述以某种形式去匹配一段字符串[14]。正则表达式是一种高效率的、功能强大、方便、快捷的文本处理工具,具有强大的描述分析文本能力,通过使用正则表达式,我们可以很方便的对文本内容或数据进行删除、添加、替换、插入、分离等。正则表达式一般是由两种基本字符类型构成的:文本字符和元字符。元字符能使正则表达式具有处理数据能力。元字符是指那些在正则表达式里具有特殊意义的字符,它可以用来表示不同的含义。下面介绍一般常用的正则表达式元字符,
如表 1.1 所示。表 1.1 常使用的元字符元字符 匹配对象. 点号 匹配单个任意字符\char 转义字符 如果 char 是元字符时,匹配 char 对应的普通字符[...] 字符组 匹配单个已列出的字符[^...] 排除字符组 匹配单个未列出的字符* 星号 匹配任意多次,包含 0次? 问号 匹配一次或不匹配+ 加号 至少匹配一次{min,max} 区间量词 至少 min 次,max次^ 脱字符 匹配一行的开头$ 美元符号 匹配一行的结尾\< 单词分界符号 匹配单词的开始位置\> 单词分界符号 匹配单词的结束位置| 或 匹配分割的表达式(...) 小括号 限定多选结构范围,为反向引用获取文本\1,\2,... 反向引用 代表第一个、第二个小括号里的内容正则表达式一般都提供许多简记规则,帮助应用正则表达式的人省掉了很多麻烦。下面介绍主要的简记符,如表1.2 所示。表 1.2 常用的简记符符号 意义\t 制表符\n 换行符\r 回车符\s 空白字符\w [a-zA-Z0-9]数字或字母\d [0-9]即数字下面通过几个例子来说明正则表达式的使用,匹配表示时刻的如 9:17am 或者 12:30pm。如果用”[0-9]?[0-9]:[0-9][0-9](am|pm)”,该正则表达式能够匹配 9:17am 或 12:30pm,但也会匹配没有意义的时刻如 88:88am。所以在设计正则表达式的时候要认真设计,”(1[012]|[0-9]):[0-5][0-9](am|pm)”就能很好的表示时刻了。匹配浮点数如 23.3,如果用([-+]?[0-9]+)只能匹配到整数,而([-+]?[0-9]+(\.[0-9])?)就能够很好地表示浮点数。
基于簇分割的DFA压缩算法研究(2):http://www.youerw.com/zidonghua/lunwen_28847.html