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

use*_*453 6 java regex

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

Pattern.compile("\\[.+?\\]");
Run Code Online (Sandbox Code Playgroud)

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

rua*_*akh 14

这个字符串文字:

"\\[.+?\\]"
Run Code Online (Sandbox Code Playgroud)

表示此字符串:

\[.+?\]
Run Code Online (Sandbox Code Playgroud)

所以这个表达式:

Pattern.compile("\\[.+?\\]");
Run Code Online (Sandbox Code Playgroud)

意味着这个正则表达式:

\[.+?\]
Run Code Online (Sandbox Code Playgroud)

这意味着"一个文字[,后跟一个或多个字符 - 最好尽可能少 - 然后是]".(.表示"除换行之外的任何字符"; +?表示"我刚刚说过的一个或多个,最好尽可能少".)总的来说,正则表达式匹配[____],其中____可以是任何不包含换行符的内容,如只要它至少有一个字符长; 哪里____ 不会(通常)包含一个]除了可能作为第一个字符.

有关PatternJava中的正则表达式和正则表达式的更多信息,请参阅该类的文档Pattern.