正则表达式

 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。

  /[-.(]/ 在符号中的连字符-放在第一位表示连字符本身,如果放在中间,表示"从..到..",比如[a-z]表示a-z

  [.)] 括号中的特殊符号不需要转义,就表示其本身

  [^ab] 括号中的^表示非,anythings except a and b

  ^w+ 多了一个^,这样子,就只能匹配到每一行开头的单词了This is a wordssequence Hello GoodBye Go

  w+$ 这样就能匹配到每行的最后一个字母

  

  .是贪婪的,他表示所有,所有能匹配到的,所以当然也包括了],一直到这一行的最后一个],它才停止。

所以为了让它能正确匹配,需要去掉这种贪婪的属性。这里用到 。 当?放在了quantifiers符号后,表示去掉贪婪属性,匹配到终止条件,即可停下

  ?符号可以禁止贪婪属性,放在.*之后,表示一次匹配遇到重点就可以停止。否则将会一直向后匹配

参考

  Regular expressions in Java - Tutorial  https://www.vogella.com/tutorials/JavaRegularExpressions/article.html

  https://www.runoob.com/regexp/regexp-syntax.html

  https://juejin.im/post/5b5db5b8e51d4519155720d2

原文地址:https://www.cnblogs.com/parkdifferent/p/11051359.html