【发布时间】:2015-02-15 02:02:12
【问题描述】:
我无法在正则表达式的两个字符之间选择多行。 我该如何解决这个问题?
{
example
example 1
}
我想选择“示例”。但我不能。
我试过这个正则表达式
#\n.*#
谢谢
【问题讨论】:
-
文字模式
#\n.*#?那是......根本不会做你想做的事,给出这里的例子。在这种情况下,我怀疑你在\n之前缺少\r。
我无法在正则表达式的两个字符之间选择多行。 我该如何解决这个问题?
{
example
example 1
}
我想选择“示例”。但我不能。
我试过这个正则表达式
#\n.*#
谢谢
【问题讨论】:
#\n.*#?那是......根本不会做你想做的事,给出这里的例子。在这种情况下,我怀疑你在\n 之前缺少\r。
您的模式没有达到您的预期;它匹配换行符后跟除换行“零次或多次”以外的任何字符。您需要使用 s (dotall) 修饰符来强制点在换行符序列中匹配。
例如——匹配两个花括号之间的所有内容。
preg_match('/{(.*)}/s', $str, $match);
echo $match[1];
【讨论】:
{\s*([^\n]+)