正则表达式匹配所有字符和新行?

时间:2015-07-01 06:48:33

标签: php regex

我的正则表达式遇到了一些问题。我想匹配方括号标签内的所有内容。

这是我的正则表达式:/(?:\[.*])(.*)(?:\[\/.*])/

我正在针对此内容运行它:

[TITLE]More Things[/TITLE]
[BODY]This is not working
still not working
nope, hasn't magically started working

I'd like to match double carriage returns[/BODY]

此刻只会匹配单行标记。感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:2)

如果您使用的是php,则只需添加s修饰符即可。而且,在为结束标记编写模式时,捕获开始标记并引用它也会更好。

/(?:\[([^\]]*)\])(.*?)(?:\[\/\1\])/s

如果您使用的是javascript,那么您必须将上述正则表达式中的每个.转为[\S\s]

DEMO