例子:
import java.util.regex.*;
class RegexExample1{
public static void main(String args[]){
String content = "I am noob " +
"from runoob.com.";
String pattern = ".*runoob.*";
boolean isMatch = Pattern.matches(pattern, content);
System.out.println("字符串中是否包含了 'runoob' 子字符串? " + isMatch);
}
}
詳細(xì):
將下一字符標(biāo)記為特殊字符、文本梅猿、反向引用或八進(jìn)制轉(zhuǎn)義符氓辣。例如,"n"匹配字符"n"袱蚓。"\n"匹配換行符钞啸。序列"\\"匹配"\","\("匹配"("。
^
匹配輸入字符串開始的位置体斩。如果設(shè)置了 RegExp 對象的 Multiline 屬性梭稚,^ 還會與"\n"或"\r"之后的位置匹配。
還會與"\n"或"\r"之前的位置匹配。
*
零次或多次匹配前面的字符或子表達(dá)式蹬敲。例如暇昂,zo* 匹配"z"和"zoo"。* 等效于 {0,}伴嗡。
+
一次或多次匹配前面的字符或子表達(dá)式急波。例如,"zo+"與"zo"和"zoo"匹配瘪校,但與"z"不匹配幔崖。+ 等效于 {1,}渣淤。
?
零次或一次匹配前面的字符或子表達(dá)式赏寇。例如用踩,"do(es)?"匹配"do"或"does"中的"do"。? 等效于 {0,1}梅誓。
{n}
n 是非負(fù)整數(shù)。正好匹配 n 次佛南。例如梗掰,"o{2}"與"Bob"中的"o"不匹配,但與"food"中的兩個"o"匹配嗅回。
{n,}
n 是非負(fù)整數(shù)及穗。至少匹配 n 次。例如绵载,"o{2,}"不匹配"Bob"中的"o"埂陆,而匹配"foooood"中的所有 o苛白。"o{1,}"等效于"o+"。"o{0,}"等效于"o"焚虱。
{n,m}
m 和 n 是非負(fù)整數(shù)丸氛,其中 n <= m。匹配至少 n 次著摔,至多 m 次缓窜。例如,"o{1,3}"匹配"fooooood"中的頭三個 o谍咆。'o{0,1}' 等效于 'o?'禾锤。注意:您不能將空格插入逗號和數(shù)字之間。
?
當(dāng)此字符緊隨任何其他限定符(摹察、+恩掷、?、{n}供嚎、{n,}黄娘、{n,m})之后時,匹配模式是"非貪心的"克滴。"非貪心的"模式匹配搜索到的逼争、盡可能短的字符串,而默認(rèn)的"貪心的"模式匹配搜索到的劝赔、盡可能長的字符串誓焦。例如,在字符串"oooo"中着帽,"o+?"只匹配單個"o"杂伟,而"o+"匹配所有"o"。
.
匹配除"\r\n"之外的任何單個字符仍翰。若要匹配包括"\r\n"在內(nèi)的任意字符赫粥,請使用諸如"[\s\S]"之類的模式。