更新時間:2021-08-12 12:24:25 來源:動力節(jié)點(diǎn) 瀏覽5220次
在regex 中,我們可以使用句點(diǎn)"."字符匹配任何字符。為了只匹配一組給定的字符,我們應(yīng)該使用字符類。
'.'字符將匹配任何字符,而不管它是什么字符。匹配的字符可以是字母,數(shù)字的任何特殊字符。
默認(rèn)情況下,句點(diǎn)/點(diǎn)字符僅匹配單個字符。為了創(chuàng)建更有意義的模式,我們可以將它與其他正則表達(dá)式結(jié)構(gòu)結(jié)合起來。
| 圖案 | 描述 |
|---|---|
| “。” | 僅匹配單個字符。 |
| “AB” | 匹配以 'A' 開頭并以 'B' 結(jié)尾的 3 個字符長字符串中位于第二位的任何字符。 |
| “.*” | 匹配任意數(shù)量的字符。 |
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args)
{
System.out.println(Pattern.compile(".").matcher("a").matches()); //true
System.out.println(Pattern.compile(".").matcher("ab").matches()); //false
System.out.println(Pattern.compile("A.B").matcher("AIB").matches()); //true
System.out.println(Pattern.compile("A.B").matcher("ABI").matches()); //false
System.out.println(Pattern.compile(".*").matcher("AIB").matches()); //true
}
}
程序輸出。
true
false
true
false
true
如果我們想在任何地方匹配一組字符,我們需要使用字符類。例如,'[abc]' 將匹配單個字符,它可以是 'a'、'b' 或 'c'。
| 圖案 | 描述 |
|---|---|
| “[ABC]” | 僅匹配給定字符集中的單個字符。 |
| “[aA]” | 匹配字符“a”,不區(qū)分大小寫。 |
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
System.out.println(Pattern.compile("[abc]").matcher("a").matches()); //true
System.out.println(Pattern.compile("[abc]").matcher("ab").matches()); //false
System.out.println(Pattern.compile("[abc]").matcher("d").matches()); //false
System.out.println(Pattern.compile("[aA]").matcher("a").matches()); //true
System.out.println(Pattern.compile("[aA]").matcher("A").matches()); //true
System.out.println(Pattern.compile("[aA]").matcher("b").matches()); //false
}
}
程序輸出。
true
false
false
true
true
false
如果我們想在任何地方匹配一個范圍的字符,我們需要使用在范圍之間有一個連字符的字符類。例如,'[af]' 將匹配單個字符,它可以是 'a'、'b'、'c'、'd'、'e' 或 'f'。
| 圖案 | 描述 |
|---|---|
| “[af]” | 僅匹配從 'a' 到 'f' 范圍內(nèi)的單個字符。 |
| “[az]” | 僅匹配從 'a' 到 'z' 范圍內(nèi)的單個小寫字符。 |
| “[AZ]” | 僅匹配從 'A' 到 'Z' 范圍內(nèi)的單個大寫字符。 |
| “[a-zA-Z]” | 僅匹配從 'a' 到 'z' 范圍內(nèi)的單個字符,不區(qū)分大小寫。 |
| “[0-9]” | 僅匹配范圍從“0”到“9”的單個數(shù)字。 |
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
System.out.println(Pattern.compile("[a-f]").matcher("b").matches()); //true
System.out.println(Pattern.compile("[a-f]").matcher("g").matches()); //false
System.out.println(Pattern.compile("[a-zA-Z]").matcher("a").matches()); //true
System.out.println(Pattern.compile("[a-zA-Z]").matcher("B").matches()); //true
System.out.println(Pattern.compile("[a-zA-Z]").matcher("4").matches()); //false
System.out.println(Pattern.compile("[0-9]").matcher("9").matches()); //true
System.out.println(Pattern.compile("[0-9]").matcher("91").matches()); //false
}
}
程序輸出。
true
false
true
true
false
true
true
以上就是動力節(jié)點(diǎn)小編介紹的"正則表達(dá)式任意字符的匹配",希望對大家有幫助,想了解更多可查看Java在線學(xué)習(xí)。動力節(jié)點(diǎn)在線學(xué)習(xí)教程,針對沒有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門到精通,主要介紹了一些Java基礎(chǔ)的核心知識,讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。

初級 202925

初級 203221

初級 202629

初級 203743