您的位置:首页 > Web前端 > HTML

HTML解析之一:正则表达式

2017-10-21 22:25 183 查看
一:入门小例子
\bwe\b匹配we
\b 是元字符,不代表空格,标点符号,换行,只是用来匹配位置

. 元字符,匹配除换行符的任意字符
* 元字符,匹配数量
.* 匹配任意数量的不换行字符

二:常用元字符
四种作用:匹配字符,匹配位置,匹配数量,匹配模式
. 匹配除换行符的任意字符
\b 匹配单词的开始或结束
\d 匹配数字
\w 匹配字母,数字,下划线或汉字
\s 匹配任意空白符,包括空格,制表符,换行符,中文全角空格等
^ 匹配字符串的开始
$ 匹配字符串的结束

例题:we are still studying and so busy
匹配出所有以s开头的单词
表达式:\bs\w*\b
匹配顺序:先是某个单词开始处(\b),
然后是字母s,
然后是任意数量的字母或数字(\w*)
最后是单词结束处(\b)

三:字符转义:查找元字符本身需要用字符转义
\ 消除转义
查找 . 、 \  *  时,用 \.   \\   \*  匹配
匹配www.google.com  用 www\.google\.com

四:重复
*      重复零次或多次
+      重复一次或更多次
?     重复一次或零次
{n}    重复n次
{n,}   重复n次或更多次
{n,m}  重复n到m次

hello\d+    匹配hello后面跟1个或更多数字,例如可以匹配hello1,hello10等
^\d{5,12}$  匹配5到12个数字的字符串,例如QQ号码
we\d?       匹配we后面跟0个或者1个数字,例如we,we0

五:字符集合
通过[]来匹配自定义字符集合
[abcde]匹配abcde中的任意一个字符
[.?!]匹配标点符号 .?!

通过[]也可以匹配一个字符范围
[0-9]标识的含义与\d完全一致,表示匹配数字
[a-z0-9A-Z]匹配字母或数字

六:分支条件
指,有几种匹配规则,满足其中任意一种规则都应当匹配,用|把不同规则分隔开
匹配分支条件时,将会从左到右测试每个条件,如果满足某个分支的话,就不会匹配其他条件

七:分组
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: