打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
正则表达基础入门
之前对正则表达式一直觉得很麻烦就没怎么研究,用的时候大都百度,有些表达式照搬过来也没弄懂意思。然终是一块短板,一日不搞清楚,便一日惴惴不安。遂学习总结如下。1.元字符

举例:在一篇文章中查找 hi

精确正则查找:\bhi\b

\b是正则表达式规定的一个特殊代码(元字符),代表单词的开头或者结尾,就是单词的分界处。只匹配一个位置。

如果找的是“hi后面不远处跟着的一个Lucy”,应该使用\bhi\b.*\bLucy\b

.是另一个元字符,匹配“除了换行符以外的任意字符”。

*也是元字符,不过既不是位置也不是字符,而是数量:指定其前边的内容可以连续重复使用任意次,使整个表达式得到匹配。

所以.*连在一起表示:任意数量的不包含换行的字符。

\bhi\b.*\bLucy\b的意思是:先是一个单词hi,然后是任意个任意字符(但不能换行),最后是Lucy这个单词。

举例:0\d\d-\d\d\d\d\d\d\d\d

表示意思:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字。

\d是个新的元字符,匹配“一位数字(0,1,2,3.........)”

-不是元字符,匹配其本身,“连字符”

另一种简洁写法:0\d{2}-\d{8},'\d'后面的{2}{8}表示前面的\d必须连续重复匹配2次(8次)

\s匹配任意的空白符,包括空格,制表符(tab),换行符,中文全角空格等。

\w匹配'字母或数字或下划线或汉字等'

\ba\w*\b匹配“以字母a开头的单词,先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字,最后是单词结束处(\b)”

\d+匹配'一个或更多连续的数字'。。+匹配重复任意次(可能是0次),而+匹配 重复1次或更多次。

重复0次或1次

\b\w{6}\b匹配刚好6个字符的单词。

^元字符匹配字符串的开始。

$元字符匹配字符串的结束。

举例:qq号(5到12位的数字) ^\d{5,12}$

{5,12}表示'重复的次数不能少于5次,也不能多于12次'

2.字符转义

查找元字符本身时,使用\

比如查找-,\-;查找\,\\.

3.字符类

如果要匹配的内容没有被预设出来,只需要在方括号里列出它们就ok了。

[.?!]匹配标点符号“.?!”

举例:\(?0\d{2}[)-]?\d{8},匹配几种电话格式。

4.分枝条件

正则表达式里的分枝条件指如果有好几种规则,如果满足其中任意一种规则都应该当成匹配。

具体用法是用|把不同的规则分隔开。

举例子:

0\d{2}-\d{8}|0\d{3}-\d{7}:匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)。

5.反义

查找不属于某个能简单定义的字符类的字符。举例“查找除了数字以外,其他任意字符都行的情况”:\D。。。注意是大写字母

\W:匹配任意不是字母,数字,下划线,汉子的字符

\S:匹配任意不是空白符的字符

\D:匹配任意非数字的字符

\B:匹配不是单词开头或结束的位置

[^x]:匹配除了x以外的任意字符

]+>:匹配用尖括号括起来的以a开头的字符串

记录此文是检验自己对正则的掌握程度,也方便以后查阅。还有一些相关的知识,比如后向引用零宽断言等未列出。欲详细了解的童鞋可以去查阅这篇博客:正则表达30分钟入门教程

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
正则表达式
C# 正则表达式30分钟入门教程(二
正则表达式30分钟入门教程
正则表达式简要教程
Vim中查找替换及正则表达式的使用详解
vi 正则表达式 复制
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服