TA的每日心情 | 慵懒 2018-11-26 11:30 |
---|
签到天数: 130 天 [LV.7]常住居民III
禁止发言
- 积分
- 2056
|
5楼
楼主 |
发表于 2018-6-12 09:15:08
|
只看该作者
本帖最后由 cixiplc66 于 2018-6-12 22:46 编辑
你这样的需求一般是html源码转txt
多数是直接匹配 <[^>]*?> 然后替换为空,倒无需考虑嵌套 反而简单了
备注:
[^>]也可以用英文句号圆点 . 代替,
不过小圆点 . 有局限,除非开启 s 模式否则不能匹配到换行符,也就是只能处理一个看得见的行内
,默认情况下正则把整个文本看做一行
小圆点 . 要处理跨行 开启 s 模式
^ $ 这2个行首行尾位置标记要处理跨行的内容,要开启 m 模式,其中有3个很少见到的类似效果的 \A \z \Z
\A 全文开头 \z全文结尾位置
\Z 无须开启 m 多行模式 就可以匹配行尾和全文结尾
\R 默认就能代替各种换行符,比\n 灵活出问题少,各种系统搞出来的文本的换行符很复杂,最常见的也有 \r \n \r\n这三种可能
\K 作用类似于逆向回顾,用于前面是某某某一些字符,比如: a\Kbc 能匹配到bc但是bc前面必须有个a
类似于 (?=a)bc
所有全角双字节字符含标点
- [[:unicode:]]
- 等同于 [^\x00-\xff]
复制代码
中日韩双字节全角字符
- 含生僻字中文[\x{2E80}-\x{FE4F}]
- [\x{3000}-\x{9FFF}] XeCJK 中日韩
- // 汉字范围 [\x0391-\xffe5]
复制代码
中文标点
- [\x{3000}-\x{301e}\x{fe10}-\x{fe19}\x{fe30}-\x{fe44}\x{fe50}-\x{fe6b}\x{ff01}-\x{ffee}]
- [中文标点符号unicode码 - CSDN博客](https://blog.csdn.net/miyunhong/article/details/43528897)
复制代码
英文标点
- \p{L} 等于 [a-z]
- \p{U} 等于[A-Z]
复制代码
匹配某些特定图片img标签,
1. 允许src有时候不紧跟在 <img 后面
2. src= 后面可能英文或中文引号,如果可能没有引号还得改为 ['"]?
- <img[^>]+src=['"]img/spkr_[^>]+>
复制代码
双引号的问题
多数时候正则中的双引号是个需要特别处理的,比如在一些脚本中,需要连续2个 "" 来代表 一个 "
只是在一些编辑器中好像又不需要特别处理
|
评分
-
1
查看全部评分
-
|