正则表达式修饰符 i、g、m、s、U、x、a、D、e 等。
web 正则表达式 2019-04-04 1055 0
关于本站

本人承接php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

1695885 1607 17
最新评论
报错 in promise) MiniProgramError {"errMsg":"removeTabBarBadge:fail not TabBar page"} Object
评 人人商城小程序昵称变成了“微信用户”头像也不显示?getUserInfo换成getUserProfile
按照这个修改后报错: ReferenceError: n is not defined at success (index.js? [sm]:3) at Function.forEach.u.<computed> (VM10210 WAService.js:2) at :55237/appservice/<api login success callback function> at Object.success (VM10210 WAService.js:2) at r (VM10210 WAService.js:2) at VM10210 WAService.js:2 at w (VM10210 WAService.js:2) at VM10210 WAService.js:2 at VM15 asdebug.js:1 at I (VM15 asdebug.js:1)(env: Windows,mp,1.05.2105170; lib: 2.17.0)
评 人人商城小程序昵称变成了“微信用户”头像也不显示?getUserInfo换成getUserProfile
asfdsafasdf
评 ;!function(){}();
:kaixin:
评 thinkphp 3.2.3 Runtime\Logs日志文件太多怎么关闭日志功能
其他浏览器呢
评 对服务器的请求已遭到某个扩展程序的阻止
文章标签更多
ThinkPHP (163)
Mysql (35)
DedeCms (33)
jQuery (41)
证件照 (1)
setInc (3)
setDec (3)
onclick (4)
打开边栏(ESC) 关闭边栏(ESC)
正则表达式中常用的模式修正符有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并且有开始^或结束$符的情况下,和g一起使用实现全局匹配,
因为存在换行时默认会把换行符作为一个字符任务匹配字符串是个单行,
g只匹配第一行,添加m之后实现多行,每个换行符之后就是开始
var str = "abcggab\nabcoab";
var preg1 = /^abc/gm;  str.match(preg1)  // 结果为:["abc", "abc"]
var preg2 = /ab$/gm;   str.match(preg2)  // 结果为:["ab", "ab"]

s 特殊字符圆点 . 中包含换行符
默认的圆点 . 是 匹配除换行符 \n 之外的任何单字符,加上s之后, . 中包含换行符
$str = "abggab\nacbs";
$preg = "/b./s";
preg_match_all($preg, $str,$matchs);
print_r($matchs);//Array ( [0] => Array ( [0] => bg [1] => b [2] => bs ) ) 

U 只匹配最近的一个字符串;不重复匹配; 
$mode="/a(.*?)c/";
$preg="/a.*c/U";//这两个正则返回相同的值
$str="abcabbbcabbbbbc" ;
preg_match($mode,$str,$content);   echo $content[0];//abc

preg_match($preg,$str,$content);   echo $content[0];//abc


//修正符:x 将模式中的空白忽略; 
//修正符:A 强制从目标字符串开头匹配;
//修正符:D 如果使用$限制结尾字符,则不允许结尾有换行; 
//修正符:e 配合函数preg_replace()使用, 可以把匹配来的字符串当作正则表达式执行;  

版权声明:本篇文章来源于网络。 来源链接

相关推荐
正则表达式中\Q和\E的用法
正则表达式 | 2019-05-10 3955
\l 下个字符小写  \L 接着的字符均小写直到\E  \u 下个字符大写  \U 接着的字符均大写直到\E  \Q 在non-word 字符前加上\,直到\E  \E 结束\L,\E和\Q  m/\Q$name\E/:表示元字符常量化, 即在$sizename里的元字符*...
正则表达式命名子组/(?P<num>\d+)/
正则表达式 | 2019-05-10 3582
在 PHP 4.3.3 中,可以对子组使用 (?P<name>pattern) 的语法进行命名。 这个子模式将会在匹配结果中同时以其名称和顺序(数字下标)出现, PHP 5.2.2中又增加了两种味子组命名的语法: (?<name>pattern) 和 (?’name’pattern)。 示例: <...
评论:0条
评论加载中...
发表评论
前一篇: