微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式基础只是详解

正则表达式由一些普通字符和一些元字符(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结束的单词) \broot\b匹配root单词

\B 匹配非边界单词er\B匹配不以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帮助文档。

原文地址:https://www.jb51.cc/regex/361670.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐