为了账号安全,请及时绑定邮箱和手机立即绑定

多行的 preg_match 无法正常工作

多行的 preg_match 无法正常工作

PHP
月关宝盒 2023-09-08 10:17:41
我有以下代码:$data = "numbers{OneTwoThree}";preg_match("~(?<=numbers{)(.*?)(?=})~", $data, $result);echo $result[0];preg_match 不起作用我不知道为什么如果数据只有一行那么它就起作用
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

.换行符不匹配使用修饰符s

~(?<=numbers{)(.*?)(?=})~s

或者你可以只匹配 NOT }

~(?<=numbers{)([^}]*)(?=})~

由于不知道您的所有要求,您也许可以简化它:

preg_match("~numbers{([^}]*)}~", $data, $result);
echo $result[1];


查看完整回答
反对 回复 2023-09-08
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

所有正则表达式引擎都支持许多搜索修饰符,例如对于不区分大小写的 serch 或 multiLineSourse,请尝试“m”修饰符

preg_match("~(?<=numbers{)(.*?)(?=})~ms", $data, $result);


查看完整回答
反对 回复 2023-09-08
  • 2 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信