畢向東正規表示式學習筆記

2021-09-01 09:39:18 字數 1475 閱讀 2781

正規表示式:匹配,切割,替換,獲取

思路方式:

1如果只想知道該字元是否對是錯,使用匹配

2想要將已有的的字串變成另乙個字串,替換

3想要安裝自己的方式將字串變成多個字串,切割:獲取規則外的字串

4想要得到符合需求的字串,獲取符合規則的字串

注意點:

1.正規表示式裡「\\」都是成對出現

2.預定義字元,要轉義,例如「.」

3.組的使用 ,疊詞的使用方法string reg="(.)\\1" ,$1

4.+,*等量詞的使用:一次或多次,零次或多次

一些例子加強理解

1.匹配matches(string regex)

匹配手機號碼 13***x,15***xx,18***xx

string num="13111111111";

string reg="1[358]\\d";

boolean b=num.matches(reg);

2. 切割split(string regex) split(string regex, int limit)

string num="eekkfhsjkfjskkkdfeef";

string reg="(.)\\1";

string a = num.split(reg);

for (int i = 0; i < a.length; i++)

輸出:fhsjkfjs

kdff

根據「.」切割

string num="sdkf.fjdk.fk";

string reg="\\.";「.」為預定義字元,要轉義

根據「\\」切割

string num="c:\\abc\\a.txt";

string reg="\\\\";「\」為預定義字元,要轉義

3.替換replaceall(string regex, string replacement) replacefirst(string regex, string replacement)

把重複的字元替換為乙個zzzzz-->z

string num="erkktyqqquizzzzzzo";

string reg="(.)\\1+";

string replacement="$1"

獲取pattern matcher

練習將str=「我我...我我...我要要.要.學學習」變為「我要學習」

將已有的字串變成另外乙個字串,替換

1將.去掉

2把疊詞去掉

將ip位址排序

192.68.1.23 ,102.23.23.45, 10.10.2.2 ,8.3.134.3

1每一段都補0,保證每一段至少有3位

2每一段只保留3位

3排序replaceall("(\\d+)", "00$1")

replaceall("0*(\\d)", "$1")

treeset 排序

正規表示式學習筆記

正規表示式學習日記 1 為萬用字元,表示任何乙個字元,例如 a.c 可以匹配 anc abc acc 2 在內可以指定要求匹配的字元,例如 a nbc c 可以匹配 anc abc acc 但不可以匹配 ancc a到z可以寫成 a z 0到9可以寫成 0 9 3 數量限定符號,表示匹配次數 或者叫...

正規表示式學習筆記

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

正規表示式學習筆記

1.正規表示式是可用於在乙個檔案或字元裡查詢和替代文字的一種標準。它具有兩種標準 基本的正規表示式 bre 擴充套件的正規表示式 ere ere包括bre功能和另外其它的概念。2.表示或運算 3.匹配任何單個字元 4.匹配任何中包含的單個字元,如 張王李 三,匹配張 三 王三,李三 5.將排除 後跟...