正则表达式,对html内容匹配分组更改(替换/调换)内容

时间:2022-09-02 15:06:52

Metacharactor元字符

\b       位置      \bhi\b(hi单词查找)

^        位置      开始

$        位置      结束

\d       字符      一个数字(\D 非数字)

\s       字符      空白符(space/tab/\n/中文空格)(\S 非空白符)

\w       字符      字母/数字/_/汉字(\W 非字母等)

.        字符      除\n以外的任意字符

?        数量      0~1个(限制紧挨着的前一个)      (?0{2}[) -]?\d{8}

*        数量      0~n个

{5}      数量      5位

[0-4]    数量      0~4的区间


|        2[0-4]\d|25[0-5]|[01]?\d\d?   ip地址判断

(?=exp)

     \b\w+(?=ing\b)  I’m singing while you are dancing..

     Result: sing danc

(?<=exp)

     (?<=\bre)\w+\b  reading a book

     Result:adding

(?!)

     \b\w*q(?!u)\w*\b   Iraq,Berq

(?:) 不分组(分组可使用regexBuddy工具进行测试)

//<p>段落首行需缩进,缩进16个" " ,原有空格(&nbsp;)不分组丢弃
Stringregex="(<p\s*[^>]*>)(?:(?:(?:&#160;)|(?:\s+))*)((\w|\W)*?)(</p>)";
content=content.replaceAll(regex,"$1                $2$4");

例:<p><img src="" />日前,第一段</p><p>  这是第二段,前面有两个空格</p>

结果:

<p>                <img src="" />日前,第一段</p><p>                这是第二段,前面有两个空格</p>



参考文档:http://www.jb51.net/tools/zhengze.html