首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP preg_match (.*)与过去的换行符不匹配

PHP preg_match (.*)与过去的换行符不匹配
EN

Stack Overflow用户
提问于 2012-10-01 11:58:27
回答 3查看 47.9K关注 0票数 30

我在LONGTEXT列中有此数据(因此将保留换行符):

代码语言:javascript
复制
Paragraph one
Paragraph two
Paragraph three
Paragraph four

我正在尝试匹配段落1到3。我使用以下代码:

代码语言:javascript
复制
preg_match('/Para(.*)three/', $row['file'], $m);

这不会返回任何内容。如果我试着只在段落的第一行内工作,通过匹配:

代码语言:javascript
复制
preg_match('/Para(.*)one/', $row['file'], $m);

然后代码就可以工作了,并且我得到了返回的正确字符串。我在这里做错了什么?

EN

回答 3

Stack Overflow用户

发布于 2012-10-01 12:00:42

添加multi-line modifier

例如:

代码语言:javascript
复制
preg_match('/Para(.*)three/m', $row['file'], $m)
票数 12
EN

Stack Overflow用户

发布于 2012-10-01 12:02:52

尝试将正则表达式设置为dot-all (PCRE_DOTALL),以便它包含换行符(末尾的额外's‘参数):

代码语言:javascript
复制
preg_match('/Para(.*)three/s', $row['file'], $m);
票数 4
EN

Stack Overflow用户

发布于 2019-01-16 00:22:14

如果您不喜欢开头的/和and,请使用T-Regx

代码语言:javascript
复制
$m = Pattern::of('Para(.*)three')->match($row['file'])->first();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12667369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档