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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP正则表达式匹配以特殊字符开始的行脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个文本文件具有一些配置值.有一个评论#
我试图找到一个正则表达式模式,将找出所有的行以#

所以,示例文件

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 line\n#test line this \nline #new line\naaaa #aaaa\nbbbbbbbbbbb#\ncccccccccccc\n#ddddddddd"; 
preg_match_all("/^#(.*)$/m",$m);
print_r($m[0]);

结果:

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

脚本宝典总结

以上是脚本宝典为你收集整理的PHP正则表达式匹配以特殊字符开始的行全部内容,希望文章能够帮你解决PHP正则表达式匹配以特殊字符开始的行所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。