正则表达式用法

开发工具与关键技术:正则表达式
作者:文泽钦
撰写时间:2019年4月15日
找一个需要替换的p标签,一个带img标签的,一个不带img标签的p标签,先看不带img标签提取标签里的文本信息,先把需要提取的标签复制到正则表达式软件上:
在这里插入图片描述
在这个位子上写正则表达式代码:
在这里插入图片描述
我们先把p标签里的span标签提取出来,把包裹着文本的span标签去掉,匹配span标签:
在这里插入图片描述
往后匹配”<span.+”然后它就会一直匹配到结束位置:
在这里插入图片描述
在这里插入图片描述
我要匹配到span开始标签“>”这个位置结束,因为有多个span标签,所以用懒惰匹配:<span.+?>
现在所有的span开始标签都匹配出来了,它会在第一个“>”位子停止匹配:
在这里插入图片描述
还有呢就是要把结束标签匹配出来,要加一个或符号“|”:<span.+?>|,把前面满足条件的匹配出来,或则后面满足条件的匹配出来:
在这里插入图片描述
在这里插入图片描述
现在已经把span标签全部匹配出来了,把span标签替换成空,在正则表
式软件上找到第一个“Replace”代替这个单词,点击:
下面会弹出多一个文本框,你可以在这里输入其他内容把span标签替换成你输入的内容,但我们现在需要把span标签替换为空,所以不用输入内容,找到再找到第二个“Replace”代替这个单词,点击:
在这里插入图片描述
这时会弹出三个选项,我们点击第一个选项:Search- and- Replace All Matches:替换搜索到所有匹配的内容,这个选项然后它会在最后一个文本框显示出替换后的结果:
在这里插入图片描述
Span标签替换完了,现在到替换p标签了,替换p标签也是跟替换span标签的方法一样的,先把刚刚替换掉span标签的结果复制到:
在这里插入图片描述
然后写正则表达式:<p.+?>|

,替换:
在这里插入图片描述
到这就把所有的标签替换掉了,提取到纯文本的信息了。
现在看一下带img标签的p标签,要提取img标签里的内容,文本信息空格都是用一个p标签包裹着,能不能用span标签把img标签包裹着,再提取:
在这里插入图片描述
意思说,在这里除了img标签是没有用span标签包裹的,其他文本信息都是用span标签包裹着的,那么我们先匹配出img标签:<img. ?/>
在这里插入图片描述
要在img标签前加一个span开始标签,在img后面加一个span结束标签,还是用替换:$0,$0是指符合<img.
/>匹配的所有结果,意思说在img前后加上span开始和结束标签,
在这里插入图片描述
Img标签前后是不是多了一个span开始标签和结束标签。
把span标签全部匹配出来,这次用零宽断言的先行方法:<span.+(?=),这匹配到结束前这个位子,这里需要结合懒惰匹配方法使用,要考虑到有多个span标签,否则正则表达式默认尽可能多匹配,它回给你匹配到最后一个标签前这个位子结束:
在这里插入图片描述
上面试贪婪匹配,但我们需要的是懒惰匹配,这样才能匹配出所有的span标签,贪婪符号是一个问号”?”:<span.+?(?=),把匹配到的结果罗列出来,点击: ,点击List All Regex Matches:列出所有正则匹配:
在这里插入图片描述
匹配图片路径用零宽断言里的先行和后行,先用后行(从什么位子后面开始匹配),在用先行(匹配到什么位置结束):(?<=src=\”).+?(?=\”);转译字符“\”,这条正则表达式意思是从scr=后面的双引号开始匹配,匹配到img结束的双引号前的位置:
在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值