Pattern pattern = Pattern.compile("\\w+@\\w+.\\w+");
Matcher matcher = pattern.matcher(text);
if(matcher.find()){
System.out.println(matcher.group());
}
表格 A: 字符匹配 |
|||
操作 |
解釋 |
例子 |
結果 |
. |
單個字符匹配 |
.ord |
匹配 “ford”, “lord”, “2ord”, |
[ ] |
多個字符列表 |
[cng] |
只會匹配 “cord”, “nord”, 和 “gord” |
[^ ] |
不出現字符列表 |
[^cn] |
匹配 “lord”, “2ord”, 等. 但不會匹配 “cord” or “nord” |
|
|
[a-zA-Z] |
匹配 “aord”, “bord”, “Aord”, “Bord”等 |
|
|
[^0-9] |
匹配 “Aord”, “aord”, 等. 但不會匹配“2ord”, 等. |
表格 B: 重復操作符 |
|||
操作 |
解釋 |
例子 |
結果 |
? |
匹配0次或1次 |
“?erd” |
匹配 “berd”, “herd”“erd”等 |
* |
匹配0次以上 |
“n*rd” |
匹配 “nerd”, “nrd”, “neard”, 等. |
+ |
匹配1次以上 |
“[n]+erd” |
匹配 “nerd”, “nnerd”, 等., 但不匹配 “erd” |
{n} |
匹配n次 |
“[a-z]{2}erd” |
匹配“cherd”, “blerd”, 等. 但不匹配 “nerd”, “erd”, “buzzerd”, 等. |
{n,} |
匹配n次以上 |
“.{2,}erd” |
匹配 “cherd” and “buzzerd”, but not “nerd” |
{n,N} |
匹配n-N次 |
“n[e]{1,2}rd” |
匹配 “nerd” and “neerd”等 |