加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP正则表达式匹配以特殊字符开始的行

发布时间:2020-05-25 08:42:24 所属栏目:PHP 来源:互联网
导读:我有一个文本文件具有一些配置值.有一个评论从# 我试图找到一个正则表达式模式,将找出所有的行以# 所以,示例文件: 1st line#test line this line #new lineaaaa #aaaabbbbbbbbbbb#cccccccccccc#ddddddddd 我想找 #test line this #ddddddddd 因为只有这两行

我有一个文本文件具有一些配置值.有一个评论从#
我试图找到一个正则表达式模式,将找出所有的行以#

所以,示例文件:

1st line
#test line this 
line #new line
aaaa #aaaa
bbbbbbbbbbb#
cccccccccccc
#ddddddddd

我想找

#test line this 
#ddddddddd

因为只有这两行以#
我尝试了以下代码:

preg_match_all("/^#(.*)$/siU",$text,$m);
var_dump($m);

但它总是输出空数组.任何人都可以帮忙

您忘记了多行修饰符(并且您不应使用单线修饰符;也不必要使用不区分大小写的修饰符,也不要使用ungreedy修饰符):
preg_match_all("/^#(.*)$/m",$m);

说明:

> / m允许^和$在行的开始/结尾进行匹配,而不仅仅是整个字符串(你需要这里)
> / s允许点匹配换行符(你不想在这里)
> /我打开不区分大小写的匹配(你不需要这里)
> / U打开不平衡的匹配(这不会因为anchors而有所不同)

A PHP code demo:

$text = "1st linen#test line this nline #new linenaaaa #aaaanbbbbbbbbbbb#nccccccccccccn#ddddddddd"; 
preg_match_all("/^#(.*)$/m",$m);
print_r($m[0]);

结果:

[0] => #test line this 
[1] => #ddddddddd

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读