当前位置: 首页 > 面试题库 >

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

邰建业
2023-03-14
问题内容

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

Paragraph one
Paragraph two
Paragraph three
Paragraph four

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

preg_match('/Para(.*)three/', $row['file'], $m);

这什么也不会返回。如果我尝试通过匹配以下内容在段落的第一行中工作:

preg_match('/Para(.*)one/', $row['file'], $m);

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


问题答案:

使用s修饰符。

preg_match('/Para(.*)three/s', $row['file'], $m);

http://php.net/manual/zh/reference.pcre.pattern.modifiers.php



 类似资料:
  • 我将这些数据放在一个LONGTEXT列中(因此换行符被保留): 我正在尝试匹配第1到3段。我正在使用以下代码: 这不会返回任何结果。如果我试图在段落的第一行内进行匹配: 然后代码工作,我得到正确的字符串返回。我在这里做错了什么?

  • 好的,所以我有一个正则表达式,我试图用它来匹配一些html文件中的特定模式。下面是preg_match语句: 明确地说,这是试图匹配一个id为{ { ALViewElement _ }的html元素。*}}但它也需要以结束标记结束,例如,如果$htmlElementType是“section ”,它将以“/section”结束 如果我的html看起来像这样,里面没有其他内容,那么它就如预期的那样工

  • 问题内容: true)。但是,我编写了一个简单的程序,其结果表明,任何字符都根本与换行符不匹配。该程序可以在这里找到:http : //play.golang.org/p/pccP52RvKS。我真的很困惑。 任何帮助将不胜感激,并在此先感谢。 问题答案: 像大多数其他(所有?)正则表达式引擎一样,点不匹配换行符,除非您在正则表达式中添加“全部点”标志。 我使用您的链接对此进行了测试,并且可以正常

  • 问题内容: 我有一个像这样的字符串: 基本上翻译为a ,我想将其替换为: 转换为。 用很多方法进行了尝试,但是它不起作用可能是因为以不同的方式使用了新行。我尝试了: …以及许多其他方式都没有结果。任何想法在这种情况下如何更换? 问题答案: 使用gawk尝试以下行: 如果要 处理新行,则必须先阅读整个文件:

  • 问题内容: 我正在使用以下函数将字符串写入文件。该字符串用换行符格式化。 例如, 我可以在执行以下操作时看到输出文件的换行符: 但是,当我在记事本中打开文本时,看不到换行符。一切都显示在一行中。 为什么会这样。如何确保正确编写文本,以便能够在记事本中正确看到(格式化)。 问题答案: 在窗口上,按照惯例,换行符表示为回车符,后跟换行符(CR + LF),即。 从换行维基页面: 文本编辑器通常用于在不

  • 问题内容: 我已经尝试过了,但这不起作用。 你怎么做到这一点? (我非常感谢您需要使用类似Java的代码) 谢谢, 问题答案: 根据您的要求: -换行符,除换行符外,前面带有任何字符。这意味着 换行之前必须有一个字符, 并且 两个符号将匹配 。 -没有回车符的换行符。这意味着 只有换行符号会被匹配, 并且只会被测试是否存在(就像后面的否定一样, 零宽度的断言 不会消耗任何文本,但是如果其中的模式在