2 xiehaohua1989 xiehaohua1989 于 2016.04.20 18:08 提问

php 的正则中结束符 $ 问题

$str= 'abc
def
ijk' ;
preg_match('/f$/m',$str,$arr);
为什么没有结果呢?修正符m不是把字符串看做多行吗

4个回答

CSDNXIAON
CSDNXIAON   2016.04.20 18:13

关于php的结束符
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

hsd2012
hsd2012   2016.04.21 08:48

你写法有问题,'/f$/m'中$放在字符f前面,表示正则表达式开始位置,放在中间仅仅表示一个字符$而已,你的目的是匹配是否包含字符f吗?直接'/f/'就可以了。更多信息,请查看http://blog.csdn.net/hsd2012/article/details/51168589

hsd2012
hsd2012 回复熟悉的陌生人: 不好意思,搞混了,因为字符f后面有一个回车符,所以匹配不到。preg_match('/f\r$/m',$str,$arr); 这样就可以啦
一年多之前 回复
xiehaohua1989
xiehaohua1989 表示开始位置不是用 ∧ 吗,$就是表示结束位的,如果只是用它$本身,那加个转义就行了 \ $,看我的描述,没有回答我提的问题
一年多之前 回复
hsd2012
hsd2012   2016.04.21 15:56

f后面有一个回车符,改为preg_match('/f\r$/m',$str,$arr); 就可以了,细节看http://blog.csdn.net/hsd2012/article/details/51209671

zjwlgr
zjwlgr   2016.04.25 15:38

楼主是想匹配一个有换行的字符串中,结尾为 f[\n\r] 是吗?

$str= 'abc
def
ijk' ;

preg_match("#f\r#",$str,$arr);

print_r($arr);

匹配f\r ,如果哪一行结尾是f 匹配成功,成功返回 1 ,否则返回 0

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!