Java正则表达式全解
生活随笔
收集整理的這篇文章主要介紹了
Java正则表达式全解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 什么是正則表達(dá)式
一種檢驗(yàn)信息正確性的方法(我們做開(kāi)發(fā)的時(shí)候,經(jīng)常會(huì)碰到信息收集,為了防止qq,電話(huà)亂填,可以使用正則表達(dá)式,也可以直接寫(xiě)if代碼慢慢檢驗(yàn),但是有高效的正則表達(dá)式,一行代碼解決,誰(shuí)會(huì)花時(shí)間去寫(xiě)幾十行代碼檢驗(yàn)正確性)2. 正則表達(dá)式有什么作用
(效驗(yàn)信息合法性)(電話(huà)號(hào)碼,金額,qq號(hào),郵箱)3. 正則表達(dá)式的語(yǔ)法
/*正則表達(dá)式。字符類(lèi)1.[abc]:(簡(jiǎn)單類(lèi))校驗(yàn):只能是a,b或c。2.[^abc]:(否定)效驗(yàn):除了abc之外任意字符3.[a-zA-Z]:(范圍)效驗(yàn):只能出現(xiàn)英文字母4.[a-d[m-p]]:(并集)5.[a-z&&[def23]]:(交集)6.[a-z&&[^bc]]:(減去)7.[a-z&&[^m-p]]:(減去)預(yù)定義字符類(lèi)1. . 任何字符2. \d 數(shù)字 [0-9]3. \D 非數(shù)字 [^0-9]4. \s 空白字符 [\t\n\x0B\f\r]5. \S 非空白字符 [^\s]6. \w 單詞字符 [a-zA-Z_0-9]7. \W 非單詞字符 [^\w]以上正則匹配只能效驗(yàn)一個(gè)字符。Greedy數(shù)量詞1. X?x,一次或一次沒(méi)有2. X* X,零次或多次3. X+ X,一次或多次4. X{n},恰好n次5. X{n,} 至少n次6. X{n,m} 至少n次,但是不超過(guò) m 次。*/ public class RegexDemo02 {public static void main(String[] args) {System.out.println("a".matches("[abc]"));System.out.println("d".matches("[abc]"));System.out.println("d".matches("[^abc]"));System.out.println("d".matches("\\w"));//密碼至少六位,必須是數(shù)字,字母和下劃線(xiàn)System.out.println("你aaaaaaa1".matches("[你a_]{6,12}"));} }4. 正則表達(dá)式的使用場(chǎng)景
import java.util.Scanner;/*正則表達(dá)式的實(shí)際應(yīng)用。檢測(cè)郵箱檢測(cè)電話(huà)*/ public class RegexDemo03 {public static void main(String[] args) {//效驗(yàn)郵箱checkEmail();checkPhone();}public static void checkEmail(){//郵箱Scanner sc = new Scanner(System.in);System.out.println("請(qǐng)輸入你的郵箱:");String email = sc.nextLine();//22212323@qq.com//32141321@pa.com.cnif(email.matches("\\w{1,}@\\w{2,10}(\\.\\w{2,10}){1,2}")){System.out.println("郵箱合法");}else{System.err.println("郵箱不合法");//錯(cuò)誤提示}}public static void checkPhone(){//手機(jī)號(hào)Scanner sc = new Scanner(System.in);System.out.println("請(qǐng)輸入你的手機(jī):");String tel = sc.nextLine();//14398972112if(tel.matches("1[3-9]\\d{9}")){System.out.println("手機(jī)號(hào)合法");}else{System.err.println("手機(jī)號(hào)不合法");//錯(cuò)誤提示}} }總結(jié)
以上是生活随笔為你收集整理的Java正则表达式全解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Cisco2811做端口映射
- 下一篇: java美元兑换,(Java实现) 美元