正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。
在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"123testing"等字符串,但是不能匹配"Testing"。
要想真正的用好正则表达式,正确的理解元字符是最重要的事情。下表列出了所有的元字符和对它们的一个简短的描述。
元字符 |
描述信息 |
. |
匹配任意单个字符 |
[] |
指定范围内的单个字符//[abcd]只要含有abcd任意字符即满足条件 |
[^] |
指定范围之外的单个字符//[^abcd]不能含有abcd任意字符即满足条件 |
^[] |
定位至行首//^[a-z]以小写字母开头的行 |
* |
o*表示重复前一个字符 0到无穷多次,注意和通配符的区别,通配符*表示任意字符。 |
+ |
表示重复前一个字符1到无穷多次,至少1次 |
? |
匹配前一个字符0或1次,注意和通配符的区别。 |
{} |
表示匹配的准确次数.{n,m}:匹配次数n到m次;{n,}:匹配次数至少n次;{n}:匹配次数为n次{} |
|
|
x|y 匹配x或者y |
b
|
锚定单词边界(同“&;”和“&;”。&;锚定单词词首的,&;ro 匹配以ro开头的单词 &;锚定单词词尾的,er&;匹配以er结束的单词) brootb匹配root单词 |
B |
匹配非边界单词erB匹配不以er结尾的单词 |
() |
分组,将 ( 和 ) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 1 到9 的符号来引用。 |
$ |
结束表示符。.$以.结尾的行,注意是转义符 |
|
转义符,去掉字符的特殊含义,使其成为普通字符。例如上面,.原本是特殊字符,表示任意单个字符,使用转义之后,其就表示本身,就表示一个句点"." |
[[:upper:]] |
表示[A-Z] |
[[:alnum:]] |
表示[0-9a-zA-Z] |
[[:lower:]] |
表示[a-z] |
[[:space:]] |
表示空格或者tab键 |
[[:digit:]] |
表示[0-9] |
[[:alpha:]] |
表示[a-zA-Z] |
[[:punct:]] |
表示标点符号 |
以上是一些我们平时经常能用到的元字符以及其代表的意义,我也是一个菜鸟,欢迎大家进行补充
范例呢,网上也多,整理的也就是一些基本的知识,下面上传一个文件,是正则表达式的chm帮助文档。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|