我很难理解某个Java正则表达式会匹配什么:
"<(\\w+)></\\1>"
Run Code Online (Sandbox Code Playgroud)
我已经阅读了这篇http://docs.oracle.com/javase/tutorial/essential/regex/
但是我仍然无法弄清楚那个表达式会匹配什么,尤其是那个\1
部分.我可以看到,这<(\w+)>
是一个匹配任何单词的占有量词,但我不明白为什么使用()
根据教程的匹配组.
至于第二部分,我只是不知道\1
会匹配什么.我试过了
"001123344556678899".replaceAll("\\1", "");
Run Code Online (Sandbox Code Playgroud)
因为我认为它可能只是匹配一个数字,但它给了我回到我的字符串,因为没有任何替代.
它旨在匹配XML/HTML标记对,例如
<tag></tag>
Run Code Online (Sandbox Code Playgroud)
该\\1
均值匹配第一个匹配的组,即括号中的东西.(双反斜杠是因为需要在Java字符串文字中转义反斜杠.)
归档时间: |
|
查看次数: |
203 次 |
最近记录: |