【问题标题】:Regex: Select multiple lines between characters正则表达式:在字符之间选择多行
【发布时间】:2015-02-15 02:02:12
【问题描述】:

我无法在正则表达式的两个字符之间选择多行。 我该如何解决这个问题?

{
example
example 1
}

我想选择“示例”。但我不能。

我试过这个正则表达式

#\n.*#

谢谢

【问题讨论】:

  • 文字模式#\n.*#?那是......根本不会做你想做的事,给出这里的例子。在这种情况下,我怀疑你在\n 之前缺少\r

标签: php regex


【解决方案1】:

您的模式没有达到您的预期;它匹配换行符后跟除换行“零次或多次”以外的任何字符。您需要使用 s (dotall) 修饰符来强制点在换行符序列中匹配。

例如——匹配两个花括号之间的所有内容。

preg_match('/{(.*)}/s', $str, $match);
echo $match[1];

【讨论】:

  • 仅获取“示例”,{\s*([^\n]+)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-03
  • 2023-03-17
  • 2021-05-16
  • 2019-11-25
  • 1970-01-01
相关资源
最近更新 更多