TA的每日心情 | 慵懒 2018-11-26 11:30 |
---|
签到天数: 130 天 [LV.7]常住居民III
|

楼主 |
发表于 2018-6-12 09:15:08
|
显示全部楼层
本帖最后由 cixiplc66 于 2018-6-12 22:46 编辑 * Y+ P, ]5 }; v. g
Q& G( ^& A" f你这样的需求一般是html源码转txt
1 l9 _8 |8 j0 t5 y4 M$ ]( y多数是直接匹配 <[^>]*?> 然后替换为空,倒无需考虑嵌套 反而简单了4 l' N; h9 \, a, u/ P& a
+ b; p, L& u# j6 I7 u备注:
$ @* ~* L/ N" B( J& A9 L[^>]也可以用英文句号圆点 . 代替,
) w( F$ w; u! m& x; H不过小圆点 . 有局限,除非开启 s 模式否则不能匹配到换行符,也就是只能处理一个看得见的行内
+ x4 c( j9 Z8 T6 N9 P4 Z% @,默认情况下正则把整个文本看做一行
9 j |* E- s9 K8 m* l+ ]小圆点 . 要处理跨行 开启 s 模式# Y# o. n7 b1 p& {; i
^ $ 这2个行首行尾位置标记要处理跨行的内容,要开启 m 模式,其中有3个很少见到的类似效果的 \A \z \Z
4 w* s' r# r1 G& y" L/ @\A 全文开头 \z全文结尾位置 % y) S# Q5 f/ P( v* c& w, t" B& X5 e
\Z 无须开启 m 多行模式 就可以匹配行尾和全文结尾6 u% w/ O$ h) g, u3 z ` I' V2 u7 q x
\R 默认就能代替各种换行符,比\n 灵活出问题少,各种系统搞出来的文本的换行符很复杂,最常见的也有 \r \n \r\n这三种可能
. k* X8 B( ~' u- P3 C# ]* O$ ~
( b6 t9 q/ z# t, c7 E\K 作用类似于逆向回顾,用于前面是某某某一些字符,比如: a\Kbc 能匹配到bc但是bc前面必须有个a2 {+ P8 M) ^9 h1 C3 E( S$ T
类似于 (?=a)bc$ g/ C4 O3 h) T4 a% N2 [' w' u' {5 n
: ]0 `+ d- Y0 c7 i& z- k8 N: Q
所有全角双字节字符含标点
4 Q, T& ? f+ F% U0 N- [[:unicode:]]! ^) U# Z6 ]- c. m
- ' K, @# u/ I# G
- 等同于 [^\x00-\xff]
复制代码 1 s* n4 r7 @ I2 a
! D: Z9 x2 R' @# @1 g* n8 h
4 r: E8 Z C) \' E中日韩双字节全角字符
}8 z8 v$ ]- B- [8 j5 s: ^8 s+ Q- 含生僻字中文[\x{2E80}-\x{FE4F}], c2 c# i7 ~8 }8 r+ J
- [\x{3000}-\x{9FFF}] XeCJK 中日韩
/ Z6 Z, y$ P) h7 t! j) L0 ~" \" A - // 汉字范围 [\x0391-\xffe5]
复制代码
. o6 t; B* ?+ ]0 b( X$ g3 B* }) G# r/ i }6 ?: \8 ]
中文标点- t: |; @; _+ o0 j
- [\x{3000}-\x{301e}\x{fe10}-\x{fe19}\x{fe30}-\x{fe44}\x{fe50}-\x{fe6b}\x{ff01}-\x{ffee}]
; K+ c6 C8 g" O+ X - [中文标点符号unicode码 - CSDN博客](https://blog.csdn.net/miyunhong/article/details/43528897)
复制代码
% w3 o% s6 L4 N9 |+ j6 p6 W* B. V. M
英文标点# g1 y6 e) }4 i
- [[:punct:]]. ?! t6 d- _% o Z# n
- \p{Punct}
复制代码
" R/ n. \& C+ I) m' s& i& Z& F" x; j2 s' w9 m9 j3 {
- \p{L} 等于 [a-z] L" u5 \- F: M+ ^. E
- \p{U} 等于[A-Z]
复制代码 , A/ `! g, _* N$ n
! d2 r' y9 c4 |- F D; {1 @
匹配某些特定图片img标签,/ I4 K" V W [' L7 o3 @2 B* L
1. 允许src有时候不紧跟在 <img 后面
# c8 q& V) ~: k; [& h( D: w) k% @2. src= 后面可能英文或中文引号,如果可能没有引号还得改为 ['"]?' R* S" `4 u& ?, V) m
- <img[^>]+src=['"]img/spkr_[^>]+>
复制代码 ) l/ z* _. [- z6 J/ p- w
$ L" Y k \0 H1 @
双引号的问题8 V- _. i0 @7 v& K! A2 m
多数时候正则中的双引号是个需要特别处理的,比如在一些脚本中,需要连续2个 "" 来代表 一个 "+ q* M. |( y' N, G
只是在一些编辑器中好像又不需要特别处理
8 C j# k; {: I; o2 u& c% h |
评分
-
1
查看全部评分
-
|