# 正则表达式中常用的模式修正符有i、g、m、s、U、x、a、D、e 等。

它们之间可以组合搭配使用。

i 不区分(ignore)大小写;

例如: /abc/i 可以匹配 abc、aBC、Abc

g 全局(global)匹配

如果不带g,正则过程中字符串从左到右匹配,找到第一个符合条件的即匹配成功,返回
如果带g,则字符串从左到右,找到每个符合条件的都记录下来,知道字符串结尾位置
例如:
var str = ‘aaaaaaaa’
var reg1 = /a/; str.match(reg1) // 结果为:[“a”, index: 0, input: “aaaaaaaa”]
var reg2 = /a/g; str.match(reg2) // 结果为:[“a”, “a”, “a”, “a”, “a”, “a”, “a”, “a”]

m 多(more)行匹配

若存在换行\n并且有开始^或结束KaTeX parse error: Undefined control sequence: \nabcoab at position 102: … str = "abcggab\̲n̲a̲b̲c̲o̲a̲b̲"; var preg1 = …/gm; str.match(preg2) // 结果为:[“ab”, “ab”]

s 特殊字符圆点 . 中包含换行符

默认的圆点 . 是 匹配除换行符 \n 之外的任何单字符,加上s之后, . 中包含换行符
$str = “abggab\nacbs”;
p r e g = " / b . / s " ; p r e g m a t c h a l l ( preg = "/b./s"; preg_match_all( preg="/b./s";pregmatchall(preg, s t r , str, str,matchs);
print_r($matchs);//Array ( [0] => Array ( [0] => bg [1] => b [2] => bs ) )

U 只匹配最近的一个字符串;不重复匹配;

$mode="/a(.*?)c/";
$preg="/a.*c/U";//这两个正则返回相同的值
s t r = " a b c a b b b c a b b b b b c " ; p r e g m a t c h ( str="abcabbbcabbbbbc" ; preg_match( str="abcabbbcabbbbbc";pregmatch(mode, s t r , str, str,content); echo c o n t e n t [ 0 ] ; / / a b c p r e g m a t c h ( content[0];//abc preg_match( content[0];//abcpregmatch(preg, s t r , str, str,content); echo c o n t e n t [ 0 ] ; / / a b c / / 修 正 符 : x 将 模 式 中 的 空 白 忽 略 ; / / 修 正 符 : A 强 制 从 目 标 字 符 串 开 头 匹 配 ; / / 修 正 符 : D 如 果 使 用 content[0];//abc //修正符:x 将模式中的空白忽略; //修正符:A 强制从目标字符串开头匹配; //修正符:D 如果使用 content[0];//abc//:x;//:A;//:D使限制结尾字符,则不允许结尾有换行;
//修正符:e 配合函数preg_replace()使用, 可以把匹配来的字符串当作正则表达式执行;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值