TA的每日心情 | 慵懒 2018-11-26 11:30 |
---|
签到天数: 130 天 [LV.7]常住居民III
|
楼主 |
发表于 2018-6-12 09:15:08
|
显示全部楼层
本帖最后由 cixiplc66 于 2018-6-12 22:46 编辑
0 I( l* ]) e m k! h% y9 Z; y; {8 X b, [0 ~; ]
你这样的需求一般是html源码转txt
+ M( I/ o, y. E$ x# W% D, v1 s多数是直接匹配 <[^>]*?> 然后替换为空,倒无需考虑嵌套 反而简单了( n9 c) B. U. V4 J I! f
9 a, S/ ~) ?( A+ B
备注:" A# c4 u: X$ s
[^>]也可以用英文句号圆点 . 代替,
2 a" D0 d: i% H不过小圆点 . 有局限,除非开启 s 模式否则不能匹配到换行符,也就是只能处理一个看得见的行内 T$ K8 V3 k, B% Y2 h9 P
,默认情况下正则把整个文本看做一行
; N# @# i$ A$ f& f j小圆点 . 要处理跨行 开启 s 模式
* P) `/ U P0 c^ $ 这2个行首行尾位置标记要处理跨行的内容,要开启 m 模式,其中有3个很少见到的类似效果的 \A \z \Z! P$ M& e% k' y& u! E. I( X- ^
\A 全文开头 \z全文结尾位置 3 j5 Y5 x1 H7 E$ W6 E" C$ M7 l3 E' u
\Z 无须开启 m 多行模式 就可以匹配行尾和全文结尾4 I3 a3 A9 x: [' b5 h9 r
\R 默认就能代替各种换行符,比\n 灵活出问题少,各种系统搞出来的文本的换行符很复杂,最常见的也有 \r \n \r\n这三种可能
5 n( n( d3 c# e( Y
7 N, d' |) O" b p5 {% X! l) c\K 作用类似于逆向回顾,用于前面是某某某一些字符,比如: a\Kbc 能匹配到bc但是bc前面必须有个a
; O# h0 S9 W8 ?0 F9 V# N$ _- K/ J0 i( l% }类似于 (?=a)bc
! a* K- s, O& [" S3 ]8 {/ `4 @9 N+ D# ?+ w" U% l& M8 _
所有全角双字节字符含标点
" X: a) }$ m5 P( h9 m( @- [[:unicode:]]
+ n; X$ `! I3 ^ - ' v- a' d) S% }
- 等同于 [^\x00-\xff]
复制代码 ( M- D: a$ @9 V; |
" d: k# L5 B+ `1 E5 U* O) Z$ g
' a e* n; M0 T, i
中日韩双字节全角字符) m/ t) n" g( u6 ~
- 含生僻字中文[\x{2E80}-\x{FE4F}]
9 c1 i2 a. ^% L; z - [\x{3000}-\x{9FFF}] XeCJK 中日韩
3 C. Y8 x; E. I: L: A. @( O5 U% S - // 汉字范围 [\x0391-\xffe5]
复制代码 - F% z) ]1 J3 e
0 N- Y7 w$ \% w3 i: H2 B& D中文标点
0 ~; V" p4 z8 |) p0 n6 H- [\x{3000}-\x{301e}\x{fe10}-\x{fe19}\x{fe30}-\x{fe44}\x{fe50}-\x{fe6b}\x{ff01}-\x{ffee}]
+ m/ P9 @& p1 J, f- e - [中文标点符号unicode码 - CSDN博客](https://blog.csdn.net/miyunhong/article/details/43528897)
复制代码
; f% ^0 a9 r* |4 T# ]
6 f- O: T% ^$ o2 U: \英文标点
* ~+ Z+ e, { ?) X. t- [[:punct:]]- l1 d6 K5 M5 K& a! u
- \p{Punct}
复制代码 / ~9 F7 B& x; \" s* n) y- [, J' C
8 r& W) C. e" j5 l- \p{L} 等于 [a-z]2 f5 v9 a% ]% z, b; W; i& U# k
- \p{U} 等于[A-Z]
复制代码 + ~+ I6 c) c$ U( X9 F+ r! L
& i. x2 x. v4 d
匹配某些特定图片img标签,
' W4 c) O4 ~7 @& \9 Q: g1. 允许src有时候不紧跟在 <img 后面
# R( u; t `8 P& J2. src= 后面可能英文或中文引号,如果可能没有引号还得改为 ['"]?7 N0 g& G% p4 o5 J, E( U2 @, a
- <img[^>]+src=['"]img/spkr_[^>]+>
复制代码 ' K- P. t# M% g3 H# O7 C9 k
) P1 [4 C1 |$ o) K$ s5 d
双引号的问题
" G3 o- A3 F* e* ~9 H多数时候正则中的双引号是个需要特别处理的,比如在一些脚本中,需要连续2个 "" 来代表 一个 "
( f& B6 \2 J* P. g% w只是在一些编辑器中好像又不需要特别处理" b% s9 ?6 I% |% _6 ~2 \. U5 W: D
|
评分
-
1
查看全部评分
-
|