正则表达式排除除[]内部的所有内容,包括换行符

时间:2013-10-19 18:52:59

标签: regex

我想清理[]中有一些注释的文字。我只想拥有这些笔记,而不是别的。有一些关于换行符的注释,但我也希望包含它。所以在:

    lorem ipsum [foo
    bar] lorem ipsum

我想排除lorem ipsum,但保留[foo bar]。任何人都可以告诉我该怎么做?

3 个答案:

答案 0 :(得分:0)

试试这个正则表达式:

\[([\s\S]*?)\]

捕获的组的方括号之间会有文字。

答案 1 :(得分:0)

您可以在许多正则表达式中使用它:

\[[^]]+]

答案 2 :(得分:0)

这是基于pcre的。 m开关适用于多行模式,其中.匹配任何内容,包括换行符。我敢肯定你的正则表达式会有多行模式

~\[(.*?)\]~m