Pattern.compile( “\\ [+ \\?]”);

时间:2012-03-26 21:22:20

标签: java regex

在本声明中,取自Pagerank源代码:

Pattern.compile("\\[.+?\\]");

模式是什么意思?我试过研究它,它说2斜杠意味着一个斜线,但是.+?是什么?

1 个答案:

答案 0 :(得分:14)

此字符串文字:

"\\[.+?\\]"

表示此字符串:

\[.+?\]

所以这个表达式:

Pattern.compile("\\[.+?\\]");

表示此正则表达式:

\[.+?\]

表示"文字[,后跟一个或多个字符 - 最好尽可能少 - 后跟]"。 (.表示"除了换行符之外的任何字符&#34 ;; +?表示"我刚刚说过的一个或多个,最好是尽可能少的"。)总的来说,正则表达式匹配[____],其中____可以是任何不包含换行符的内容,只要它至少有一个字符长; ____ 获胜的地方(通常)包含],但可能是第一个字符。

有关Java中Pattern和正则表达式的详细信息,请参阅the documentation for the Pattern class