亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

正則表達(dá)式的規(guī)則及應(yīng)用

jzzlee / 2697人閱讀

摘要:第三階段常見對(duì)象的學(xué)習(xí)正則表達(dá)式一正則表達(dá)式概述簡(jiǎn)單概述就是符合一定規(guī)則的字符串常見規(guī)則字符字符。舉例表示字符反斜線字符。

第三階段 JAVA常見對(duì)象的學(xué)習(xí) 正則表達(dá)式 (一) 正則表達(dá)式概述 (1) 簡(jiǎn)單概述

就是符合一定規(guī)則的字符串、

(2) 常見規(guī)則
A:字符

x 字符 x。舉例:"a"表示字符a
 反斜線字符。

 新行(換行)符 ("u000A") 

 回車符 ("u000D")

            
B:字符類

[abc] a、b 或 c(簡(jiǎn)單類) 
[^abc] 任何字符,除了 a、b 或 c(否定) 
[a-zA-Z] a到z 或 A到Z,兩頭的字母包括在內(nèi)(范圍) 
[0-9] 0到9的字符都包括

            
C:預(yù)定義字符類

. 任何字符。我的就是.字符本身,怎么表示呢 .
d 數(shù)字:[0-9]
w 單詞字符:[a-zA-Z_0-9]
在正則表達(dá)式里面組成單詞的東西必須有這些東西組成

 
D:邊界匹配器

^ 行的開頭 
$ 行的結(jié)尾 
 單詞邊界
就是不是單詞字符的地方。
舉例:hello world?haha;xixi

            

E:Greedy 數(shù)量詞 

X? X,一次或一次也沒有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次 
X{n,} X,至少 n 次 
X{n,m} X,至少 n 次,但是不超過 m 次 
(3) 常見功能
//判斷功能
String類的public boolean matches(String regex)
    
//分割功能
String類的public String[] split(String regex)
    
//替換功能
String類的public String replaceAll(String regex,String replacement)
    
//獲取功能
Pattern和Matcher
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
                
find():查找存不存在
group():獲取剛才查找過的數(shù)據(jù)

正則表達(dá)式是非常強(qiáng)大的,我們通過幾個(gè)簡(jiǎn)單的例子來(lái)看一下正則表達(dá)式的應(yīng)用

(二) 正則表達(dá)式的應(yīng)用 (1) 判斷功能以及正則表達(dá)式——驗(yàn)證郵箱格式案例
import java.util.Scanner;

public class RegexDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請(qǐng)輸入你的郵箱");
        String email = sc.nextLine();

        //定義郵箱規(guī)則
        //"[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,6}(.[a-zA-Z_0-9]{2,3})+"
        //簡(jiǎn)化后
        String regex = "w+@w{2,6}(.w{2,3}+)";
        boolean flag = email.matches(regex);
        System.out.println(flag);
    }
}
(2) 拆分功能——好友年齡范圍限制
import java.util.Scanner;

/*
 *  分割功能
 *          String類的 public String[] split(String regex)
 *          根據(jù)正則表達(dá)式的匹配拆分此字符串
 *  舉例:
 *          社交軟件中
 *          搜索好友:
 *              性別:女
 *              年齡:18-24
 */
public class RegexDemo {
    public static void main(String[] args) {
        String ages = "18-24";

        //定義規(guī)則
        String regex = "-";

        //調(diào)用方法
        String[] strArray = ages.split(regex);

        //得到int類型
        int StartAge = Integer.parseInt(strArray[0]);
        int EndAge = Integer.parseInt(strArray[1]);

        Scanner sc = new Scanner(System.in);
        System.out.println("請(qǐng)輸入你的年齡");
        int age = sc.nextInt();
        if (age >= StartAge && age <= EndAge){
            System.out.println("確認(rèn)過眼神,我遇上對(duì)的人!");
        }else{
            System.out.println("可惜不是你,陪我到最后!");
        }
    }
}
(3) 把字符串中的數(shù)字排序
import java.util.Arrays;

public class RegexDemo2 {
    public static void main(String[] args) {
        String s = "22 33 55 88 66 11";
        String[] strArray = s.split(" ");

        //把字符串?dāng)?shù)字轉(zhuǎn)換成int數(shù)組
        int[] arr = new int[strArray.length];
        for (int x = 0; x < arr.length; x++) {
            arr[x] = Integer.parseInt(strArray[x]);
        }
        Arrays.sort(arr);

        //把排序后的int數(shù)組再組裝成一個(gè)字符串
        StringBuilder sb = new StringBuilder();
        for (int x = 0; x < arr.length; x++) {
            sb.append(arr[x]).append(" ");
        }

        String result = sb.toString().trim();
        System.out.println("result: " + result);
    }
}

//運(yùn)行結(jié)果
result: 11 22 33 55 66 88
(4) 替換功能
package cn.bwh_03_RegexReplaceAll;

public class RegexDemo {
    public static void main(String[] args) {
        String s1 = "hello123456world";

        //所有數(shù)字用*給替換
        String regex = "d";
        String s2 = "*";

        String result = s1.replaceAll(regex, s2);
        System.out.println(result);
    }
}

//運(yùn)行結(jié)果
hello******world
(5) 獲取字符串中由3個(gè)字符組成的單詞
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexDemo {
    public static void main(String[] args) {
        String s = "hao hao xue xi tian tian xiang shang";

        //規(guī)則
        String regex = "w{3}";

        //把規(guī)則編譯成模式對(duì)象
        Pattern p = Pattern.compile(regex);
        //通過模式對(duì)象得到匹配器對(duì)象
        Matcher m = p.matcher(s);

        while (m.find()){
            System.out.println(m.group());
        }
    }
}

//運(yùn)行結(jié)果
hao
hao
xue
結(jié)尾:

如果內(nèi)容中有什么不足,或者錯(cuò)誤的地方,歡迎大家給我留言提出意見, 蟹蟹大家 !^_^

如果能幫到你的話,那就來(lái)關(guān)注我吧?。ㄏ盗形恼戮鶗?huì)在公眾號(hào)第一時(shí)間更新)

在這里的我們素不相識(shí),卻都在為了自己的夢(mèng)而努力 ?

一個(gè)堅(jiān)持推送原創(chuàng)Java技術(shù)的公眾號(hào):理想二旬不止

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/74969.html

相關(guān)文章

  • 【從0到1】分步實(shí)現(xiàn)一個(gè)出生日期正則達(dá)式(JavaScript)

    摘要:簡(jiǎn)言在表單驗(yàn)證中,經(jīng)常會(huì)用正則表達(dá)式做出生日期校驗(yàn)。聲明本文目的是為了闡述如何編寫一個(gè)正則表達(dá)式的過程。綜上所述,正則表達(dá)式是強(qiáng)大的,但并不是萬(wàn)能的,因此不要過份地依賴和濫用正則。 簡(jiǎn)言 在表單驗(yàn)證中,經(jīng)常會(huì)用正則表達(dá)式做出生日期校驗(yàn)。本文把出生日期分割成幾個(gè)部分,分步地介紹了實(shí)現(xiàn)一個(gè)出生日期校驗(yàn)的完整過程。相信您在理解了本篇的內(nèi)容后,對(duì)如何編寫和如何應(yīng)用正則表達(dá)式會(huì)有進(jìn)一步的理解和體...

    shaonbean 評(píng)論0 收藏0
  • 郵箱/郵件地址正則達(dá)式分析(JavaScript,email,regex)

    摘要:簡(jiǎn)言在做用戶注冊(cè)時(shí),常會(huì)用到郵箱郵件地址的正則表達(dá)式。另一個(gè)問題是郵件用戶名不能包括中文。以上為三胖對(duì)郵箱址正則表達(dá)式的理解和分析,如有不足請(qǐng)大家予以指正。郵件地址正則表達(dá)式度空間 簡(jiǎn)言 在做用戶注冊(cè)時(shí),常會(huì)用到郵箱/郵件地址的正則表達(dá)式。本文列舉了幾種方案,大家可以根據(jù)自己的項(xiàng)目情況,選擇最適合的方案。 showImg(https://segmentfault.com/img/rem...

    Miracle_lihb 評(píng)論0 收藏0
  • nginx配置location總結(jié)rewrite規(guī)則寫法

    摘要:語(yǔ)法如果相對(duì)域名或參數(shù)字符串起作用,可以使用全局變量匹配,也可以使用反向代理。不能返回限速,可以通過指令設(shè)置如果請(qǐng)求的文件名不存在,則反向代理到。 1. location正則寫法 一個(gè)示例: location = / { # 精確匹配 / ,主機(jī)名后面不能帶任何字符串 [ configuration A ] } location / { # 因?yàn)樗械牡刂范家?/ 開...

    zhouzhou 評(píng)論0 收藏0
  • 正則達(dá)式詳解實(shí)戰(zhàn)

    摘要:如果你還沒正式開始正則表達(dá)式,請(qǐng)快速瀏覽跳過本章節(jié)。就是一個(gè)等同于但更簡(jiǎn)略的正則表達(dá)式。如果想查找全部,就要加標(biāo)識(shí)全局匹配規(guī)則正則表達(dá)式搜索字符串指定的值,從而去匹配字符串。正則表達(dá)式都是用來(lái)操作字符串的。 正則表達(dá)式 Create by jsliang on 2018-11-14 10:41:20 Recently revised in 2018-11-19 08:46:37 ...

    simon_chen 評(píng)論0 收藏0
  • nginx配置location總結(jié)rewrite規(guī)則寫法

    摘要:語(yǔ)法如果相對(duì)域名或參數(shù)字符串起作用,可以使用全局變量匹配,也可以使用反向代理。不能返回限速,可以通過指令設(shè)置如果請(qǐng)求的文件名不存在,則反向代理到。 location正則寫法 一個(gè)示例: location = / { # 精確匹配 / ,主機(jī)名后面不能帶任何字符串 [ configuration A ] } location / { # 因?yàn)樗械牡刂范家?/ 開...

    hiyang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<