关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2655
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
要理解?=和?!,首先需要理解前瞻,后顾,负前瞻,负后顾四个概念:
举例:前瞻: exp1(?=exp2) 查找exp2前面的exp1 后顾: (?<=exp2)exp1 查找exp2后面的exp1 负前瞻: exp1(?!exp2) 查找后面不是exp2的exp1 负后顾: (?<!=exp2)exp1 查找前面不是exp2的exp1
js代码示例:
<script> var str = "中国人"; var str2 = "法国人"; str = str.replace(/(?<=中国)人/, "rr") // 匹配中国人中的人,将其替换为rr,结果为 中国rr str2 = str2.replace(/(?<=中国)人/, "rr") // 结果为 法国人,因为人前面不是中国,所以无法匹配到 console.log(str); console.log(str2); </script>php代码示例:
<?php $str = "中国人"; $str2 = "法国人"; echo preg_replace('/(?<=中国)人/','rr',$str); // 中国rr echo preg_replace('/(?<=中国)人/','rr',$str2); // 法国人 ?>
要理解?:则需要理解捕获分组和非捕获分组的概念:
()表示捕获分组,()会把每个分组里的匹配的值保存起来,使用$n(n是一个数字,表示第n个捕获组的内容)
(?:)表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来
举例:
js代码示例:
<script> // 数字格式化 1,123,000 var str = "1234567890"; str = str.replace(/\B(?=(?:\d{3})+(?!\d))/g, ",") // 结果:1,234,567,890,匹配的是后面是3*n个数字的非单词边界(\B) console.log(str); </script>php代码示例:
<?php $str = "1234567890"; echo preg_replace('/\B(?=(?:\d{3})+(?!\d))/',',',$str); // 1,234,567,890 ?>
赏
相关推荐
正则表达式中\Q和\E的用法
\l 下个字符小写
\L 接着的字符均小写直到\E
\u 下个字符大写
\U 接着的字符均大写直到\E
\Q 在non-word 字符前加上\,直到\E
\E 结束\L,\E和\Q
m/\Q$name\E/:表示元字符常量化, 即在$sizename里的元字符*...
正则表达式命名子组/(?P<num>\d+)/
在 PHP 4.3.3 中,可以对子组使用 (?P<name>pattern) 的语法进行命名。 这个子模式将会在匹配结果中同时以其名称和顺序(数字下标)出现, PHP 5.2.2中又增加了两种味子组命名的语法: (?<name>pattern) 和 (?’name’pattern)。
示例:
<...
评论加载中...
前一篇: 正则表达式固化分组(?>...)
后一篇: 正则表达式\G是什么意思