php正则表达式匹配任意字符

[复制链接]
查看1792 | 回复0 | 2020-10-12 16:10 | 显示全部楼层 |阅读模式
正则表达式中,“。”(点符号)匹配的是除了换行符“\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”  正则:“.+”
运行案例代码如下:
  1. $message = $message = preg_replace("/\[(?:hide\]|sell=)([\d\D]*)\[\/(?:hide|sell)\]/i",'<h4 style="border: 1px dashed red;
  2.     padding: 8px;"><a href="http://wpa.qq.com/msgrd?v=3&uin=515138&site=qq&menu=yes" target="_blank">本资源为收费内容,请联系站长QQ:515138 购买</a></h4>',$message);
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-4-16