正则表达式匹配任意字符(包括换行符)

正则表达式匹配任意字符(包括换行符)

正则表达式中,“。”(点符号)匹配的是除了换行符“\n”以外的所有字符。但有时候我们需要匹配包括换行符在内的字符,经过一番搜索,发现了几种正则表达式匹配任意字符(包括换行符)的方法。

可以用 ([\s\S]*) ,也可以用 “([\d\D]*)”、“([\w\W]*)” 来匹配,就可以匹配包括换行符在内的任意字符。

下面是正则表达式元字符介绍

“^” :^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。

“$”  :$会匹配行或字符串的结尾

而且被匹配的字符必须是以This开头有空格也不行,必须以Regex结尾,也不能有空格与其它字符

“\b” :不会消耗任何字符只匹配一个位置,常用于匹配单词边界 如 我想从字符串中“This is Regex”匹配单独的单词 “is” 正则就要写成 “\bis\b”

“\d”: 匹配数字,

例如要匹配一个固定格式的电话号码以0开头前4位后7位,如0737-5686123  正则:^0\d\d\d-\d\d\d\d\d\d\d$ 这里只是为了介绍“\d”字符,实际上有更好的写法会在     下面介绍。

“\w”:匹配字母,数字,下划线。

例如我要匹配“a2345BCD__TTz” 正则:“\w+”  这里的“+”字符为一个量词指重复的次数,稍后会详细介绍。

“\s”:匹配空格

例如字符 “a b c” 正则:“\w\s\w\s\w”  一个字符后跟一个空格,如有字符间有多个空格直接把“\s” 写成 “\s+” 让空格重复

“.”:匹配除了换行符以外的任何字符

这个算是“\w”的加强版了“\w”不能匹配 空格 如果把字符串加上空格用“\w”就受限了,看下用 “.”是如何匹配字符“a23 4 5 B C D__TTz”  正则:“.+”

例如

原文本是:

<a class=”copybut” id=”copybut37877″><br />
<u><br />
Copy the code<br />
</u><br />
</a>
bbbbcc
<a>dddcceeeee</a>

正则表达式是:

<a class=”copybut”.*?>[\s\S]*?</a>

匹配内容是:

共找到 1 处匹配:
<a class=”copybut” id=”copybut37877″><br />
<u><br />
Copy the code<br />
</u><br />
</a>

如果正则表达式是:

<a class=”copybut”.*?>[\s\S]*</a>

则匹配内容是:

共找到 1 处匹配:
<a class=”copybut” id=”copybut37877″><br />
<u><br />
Copy the code<br />
</u><br />
</a>
bbbbcc
<a>dddcceeeee</a>

正则表达式匹配任意字符(包括换行符)