在本声明中,取自Pagerank源代码:
Pattern.compile("\\[.+?\\]");
模式是什么意思?我试过研究它,它说2斜杠意味着一个斜线,但是.+?
是什么?
答案 0 :(得分:14)
此字符串文字:
"\\[.+?\\]"
表示此字符串:
\[.+?\]
所以这个表达式:
Pattern.compile("\\[.+?\\]");
表示此正则表达式:
\[.+?\]
表示"文字[
,后跟一个或多个字符 - 最好尽可能少 - 后跟]
"。 (.
表示"除了换行符之外的任何字符&#34 ;; +?
表示"我刚刚说过的一个或多个,最好是尽可能少的"。)总的来说,正则表达式匹配[____]
,其中____
可以是任何不包含换行符的内容,只要它至少有一个字符长; ____
获胜的地方(通常)包含]
,但可能是第一个字符。
有关Java中Pattern
和正则表达式的详细信息,请参阅the documentation for the Pattern
class。