我在这里学习了一个教程,但遇到了一个障碍:我不知道这个脚本是做什么的。我用谷歌搜索了这个表达式,我认为它被称为正则表达式。但是,我仍然不知道它是干什么用的。
private static Pattern addListener = Pattern
.compile("(add\\w+?Listener\\(.*?\\))");
参考教程,正则表达式将匹配类中的所有addListener
方法定义JTextField
\w
将匹配单个alphabet
,number
或_
+
是一个与前面的模式 1 多次匹配的量词
因此,\w+
将匹配 1 到多个单词
.
可以匹配任何字符
*
是一个量词,它匹配前面的模式 0 到多次
因此,.*
将匹配 0 到许多字符
?
当使用 with 时.*
,它会懒惰地匹配
例如,对于输入xyzxyz
x.*z
正则表达式将匹配xyzxyz
x.*?z
正则表达式将匹配xyz
\\(.*?\\)
将圆括号与里面的所有参数匹配
它与以下模式匹配: " (add
word charactersListener(
任何字符))
,其中粗体字是相应\\w
的意思.*?
。
PS,您应该更好地熟悉Pattern 文档