正規表示式

2021-06-25 20:23:28 字數 2784 閱讀 8776

一、正規表示式知識點:

是一種專門用於操作字串的規則,   通過一些符號來表示,簡化對字串的複雜操作  

弊端:閱讀性差

常見的操作:

1、匹配 string matches(regex)

2、獲取(查詢):pattern,matcher

pattern p=pattern.compile(regex);

matcher m=p.matcher(string)

while(m. find())

system.out.println(m.group());

3、切割:string split(regex);

4、替換:string replaceall(regex,str);

示例:獲取文件中連續的數字

string  regex="\\d(5,)";

patternp=pattern.compile(regex);

matcher m=p.matcher(string)

while(m. find())

string s=m.group();

s.replaceall(regex,"#");

5、網頁爬蟲:

通過網路以及io讀取網頁的原始檔,並通過規則獲取網頁中符合規則的資料

比如:mail爬蟲

stringmailreg="[a-za-z0-9]@[a-za-z0-9]+(\\.[a-za-z]+)+";

正規表示式中組的含義:將部分進行封裝以便重用。\\num反響引用指定組 

二、部分功能及**實現

1、登陸介面中的部分功能的驗證

//校驗方法

function  check(inputnode,regex,divid)

else 

return b;

}//校驗使用者

function  checkuser(usernode)

$/;              //定義校驗使用者正規表示式

return check(usernode,regex,"userdiv");

}//校驗密碼

function  checkpsw(pswnode)

$/i;     //定義校驗密碼正規表示式

return check(pswnode,regex,"pswdiv");

}//校驗確認密碼

function checkrepsw(repswnode)

else 

return b;

}//校驗郵箱

function  checkmail(mailnode)

function checkform(formnode)

}//校驗使用者 老式的

function checkuserdemo(usernode)

$/;               //定義校驗使用者正規表示式

var divnode=document.getelementbyid("userdiv");   //獲取使用者框的值

if(regex.test(value))          //判斷是否符合正規表示式的要求

else 

}2、對qq號碼進行校驗

要求:5-15 0不能開頭  只能數數字

public static void checkqq()

";boolean flag=qq.matches(regex);

if(flag) system.out.println(qq+"...is ok");

else system.out.println(qq+"...is 不合法");

}3、輸出字串中字元長度為3的字串

public static void getdemo()

\\b";

//將規則封裝成物件

pattern p=pattern.compile(reg);

//讓正則物件和要作用的字串想關聯,獲取匹配其物件

matcher m=p.matcher(str);

將規則作用到字串上,並進行複核規則的子串查詢

用於獲取匹配後的結果

while(m.find())

}4、將下列字串轉成:我要學程式設計

到底四種功能中哪一種呢?或者那幾個呢

思路:( 1)如果只想知道該字串是否是錯,使用匹配

(2)如果將已有的字串變成另乙個字串,替換

(3)想要按照自定義的方式將字串變成多個字串。切割。獲取規則以外的子串

(4)想要拿到符合要求的字串,獲取。獲取符合規則的子串

public static void test_1()

5、 將ip位址進行位址段順序排序

192.68.1.254 

102.49.23.13

10.10.10.10

2.2.2.2

8.109.90.30

還按照字串自然順序,只要讓他們每一段都是3位即可

1,按照每一段需要的最多的0進行補齊,那麼每一段就會至少保證3位。

2,將每一段只保留3位,這樣,所有ip位址都是每一段三位

public static void ipsort()

)","$1");

system.out.println(ip);

string arr=ip.split(" +");

treesetts=new treeset();

for(string s:arr)

for(string s:ts)

}

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...