精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一文搞懂Java正則表達式

開發(fā) 前端
詳解如何在Java中構建正則表達式,并提供一些示例正則表達式。

1 介紹

如果我們想根據(jù)特定的模式表示一組字符串,那么我們應該使用正則表達式。

例如,我們可以編寫一個正則表達式來表示所有有效的電子郵件地址,或者我們可以編寫一個正則表達式來驗證有效的電話號碼等。

使用正則表達式的最重要的應用領域是:

  • 開發(fā)驗證框架,如Hibernate Validator。
  • 開發(fā)模式匹配工具或應用程序,如Linux中的Ctrl+F或grap cmd。
  • 開發(fā)數(shù)字電路
  • 開發(fā)翻譯器,如匯編器、編譯器和解釋器等。
  • 開發(fā)通信協(xié)議TCP/IP、UDP等。

要在Java中使用正則表達式,我們可以利用java.util.regex包,該包包括以下類:

  • Pattern——這個類是一組可以用于定義各種類型模式的正則表達式的編譯(定義在搜索中使用的模式)。
  • Matcher——這個對象用于在Java中執(zhí)行匹配操作,用于在輸入字符串中搜索模式。
  • PatternSyntaxException——這個類用于指示正則表達式模式中的語法錯誤。

這里是一個正則表達式的示例代碼片段:

import java.util.regex.*;

public class RegularExpression {

    public static void main(String[] args) {
        int count = 0;
        Pattern pattern = Pattern.compile("ab");
        Matcher matcher = pattern.matcher("abcbcbcababacb");
        while (matcher.find()) {
            ++count;
            System.out.println(matcher.group()+ "...... found at: "+matcher.start());
        }

        System.out.println("The Total number of occurrence is " + count);

    }
}

/****
  Output-
  ab...... found at: 0
  ab...... found at: 7
  ab...... found at: 9
  The Total number of occurrence is 3
****/

2 Pattern

Pattern是一個已編譯的正則表達式,即Java中的模式等價物。我們可以使用Pattern類的compile()方法創(chuàng)建一個模式對象。Pattern類的compile()方法的簽名如下:

Flags——compile()方法中的標志會改變搜索的方式。以下是其中幾個:

  • CASE_INSENSITIVE——在執(zhí)行搜索時將忽略字母的大小寫。
  • UNICODE_CASE——與CASE_INSENSITIVE標志一起使用,它會忽略英語字母以外的字母的大小寫。
  • LITERAL——使用時,模式中的特殊字符將不具有任何特殊含義,在執(zhí)行搜索時只被視為普通字符。
public static Pattern compile(String regex)

以下是Pattern類compile()方法的一個示例:

Pattern pattern = Pattern.compile("ab");

3 Matcher

matcher對象可用于檢查目標字符串中的指定模式。使用Pattern類的matcher()方法,我們可以生成一個匹配器對象。Pattern類的matcher()方法具有以下簽名:

public Matcher matcher(CharSequence input)

以下是Pattern類matcher()方法的示例:

Matcher matcher = pattern.matcher("abcbcbcababacb");

Matcher類存在于java.util.regex包中。以下是Matcher類一些最重要的方法:

  • boolean find()——這個方法嘗試查找下一個匹配項,在找到匹配項時返回true,否則返回false。
  • int start()——這個方法返回匹配項在輸入字符串中的起始索引。
  • int end()——這個方法返回匹配項在輸入字符串中的結束索引。
  • String group()——這個方法返回匹配的模式。

注意:Pattern和Matcher類存在于java.util.regex包中,從java1.4v開始引入。

4 字符類

  • [abc]——要么是'a'、'b'或'c'
  • [^abc]——除了'a'、'b'和'c'
  • [a-z]——任何從a到z的小寫字母符號
  • [A-Z]——任何從A到Z的大寫字母符號
  • [a-zA-Z]——任何字母符號
  • [0–9]——任何0到9的數(shù)字
  • [a-zA-Z0–9]——任何字母數(shù)字符號
  • [^a-zA-Z0–9]——除了字母數(shù)字符號(僅限特殊字符)

5 預定義字符類

  • .——除換行符外的任何字符
  • \d——數(shù)字(0-9)
  • \D——非數(shù)字(0-9)
  • \w——單詞字符(a-z、A-Z、0-9、_)
  • \W——非單詞字符
  • \s——空格(空格、制表符、換行符)
  • \S——非空格(空格、制表符、換行符)
  • \b——單詞邊界
  • \B——非單詞邊界
  • \uxxxx——由十六進制數(shù)xxxx指定的Unicode字符

6 量詞符

  • *——0次或多次
  • +——1次或多次
  • ?——0次或1次
  • {3}——精確數(shù)量3次
  • {3,4}——數(shù)字范圍(最小值,最大值)

我們可以使用量詞符指定要匹配的出現(xiàn)次數(shù)。

Pattern類的split()方法

要根據(jù)特定的模式拆分目標字符串,我們可以使用Pattern類的split()方法。Pattern類的split()方法具有以下簽名:

public String[] split(CharSequence input)

為了方便,我在這里包含了Pattern類split()方法的代碼片段:

public class RegularExpression {

    public static void main(String[] args) {
        Pattern pattern = Pattern.compile("\\s");
        String[] splitString = pattern.split("Pattern class is present in java.util.regex");
        for (String text : splitString) {
            System.out.println(text);
        }

    }
}

/***
  Output -
    Pattern
    class
    is
    present
    in
    java.util.regex
***/

在上面的示例中,根據(jù)空格(\s)分割了字符串。

String類的split()方法

String類也包含split()方法。字符串類的split()方法用于根據(jù)特定模式拆分目標字符串。

public class RegularExpression {

    public static void main(String[] args) {
        String text = "This is example of String class split() method";
        String[] strings = text.split("\\s");
        for (String s : strings) {
            System.out.println(s);
        }
    }
}

/***
Output
  This
  is
  example
  of
  String
  class
  split()
  method
***/

在上面的例子中,字符串是根據(jù)空白(\s)來劃分的。

注意:Pattern類的split()方法可以接受一個目標字符串作為參數(shù),而String類的split()方法可以接受一個正則表達式作為參數(shù)。

7 StringTokenizer

StringTokenizer是專門用于標記化任務的類。Java.util包中有一個StringTokenizer類。

public class StringTokenizerDemo {

    public static void main(String[] args) {
     
        StringTokenizer tokenizer = new StringTokenizer("StringTokenizer class present in java.util package");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());

        }
    }
}

/***
  Output -
    StringTokenizer
    class
    present
    in
    java.util
    package
***/

注意:StringTokenizer的默認正則表達式為空格符(\s)。

我們也可以根據(jù)需要傳遞正則表達式,以下是代碼片段有助于你更好地理解:

StringTokenizer tokenizer = new StringTokenizer("05-21-2023","-");
while (tokenizer.hasMoreTokens()) {
    System.out.println(tokenizer.nextToken());
}
/***
  Output
    05
    21
    2023
***/

我列了一些常用的編程正則表達式:

圖片

責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2024-08-07 10:54:59

正則表達式Java RegexJava

2020-09-18 06:42:14

正則表達式程序

2016-11-10 16:21:22

Java 正則表達式

2009-02-18 09:48:20

正則表達式Java教程

2018-09-27 15:25:08

正則表達式前端

2020-09-04 09:16:04

Python正則表達式虛擬機

2024-09-14 09:18:14

Python正則表達式

2023-10-07 08:25:09

Java處理工具正則表達式

2009-06-08 16:49:05

Java正則表達式group

2011-07-11 12:33:30

JAVA

2010-03-25 18:25:36

Python正則表達式

2009-09-16 17:15:57

正則表達式引擎

2022-01-04 11:35:03

Linux Shel正則表達式Linux

2023-09-13 08:12:45

2011-06-02 12:34:16

正則表達式

2022-03-28 06:19:14

正則表達式開發(fā)

2017-05-12 10:47:45

Linux正則表達式程序基礎

2021-01-27 11:34:19

Python正則表達式字符串

2019-07-17 15:45:47

正則表達式字符串前端

2009-09-16 18:19:34

正則表達式組
點贊
收藏

51CTO技術棧公眾號

中文字幕中文字幕在线中一区高清| 欧美一级免费视频| 在线观看网站黄| 国产va在线视频| 国产欧美精品一区二区色综合| 国产精品日韩在线| 国产一级二级三级| 免费久久久久久久久| 88在线观看91蜜桃国自产| 精品视频在线观看一区二区| 手机毛片在线观看| 成人日韩视频| 欧美视频专区一二在线观看| 尤物一区二区三区| 天堂av在线免费| 美腿丝袜亚洲一区| 88国产精品欧美一区二区三区| 激情高潮到大叫狂喷水| 亚洲永久精品唐人导航网址| 制服丝袜中文字幕一区| 欧美一级欧美一级| 黄色网在线播放| 久久久久久久久久久久久久久99| 91原创国产| 在线观看xxxx| 亚洲欧美网站| 欧美激情videoshd| 国产日本欧美一区二区三区在线| 久久久噜噜噜www成人网| 欧洲不卡av| 国产亚洲欧洲997久久综合| 超碰97在线资源| 艳妇乳肉豪妇荡乳av| 亚洲在线电影| 91精品国产乱码久久久久久蜜臀| 极品盗摄国产盗摄合集| 色综合五月天| 中文字幕av一区二区| 精品人妻一区二区免费视频| 午夜电影一区| 欧美一区二区成人| 亚洲色图欧美自拍| 日本a人精品| 色婷婷综合五月| 日日摸日日碰夜夜爽av| а√天堂中文资源在线bt| 一区二区三区在线视频观看 | 亚洲欧美日韩精品久久久久| 日韩一区二区电影在线观看| 男男电影完整版在线观看| 成人免费毛片嘿嘿连载视频| 不卡视频一区二区三区| 国产成人精品无码高潮| 国产在线精品一区二区不卡了| 国产精品免费在线免费 | 久久综合亚州| 国产精品678| 亚洲第一区av| 美女视频免费一区| 成人两性免费视频| 国产男男gay体育生网站| 精品一区二区三区在线播放视频| 国产日韩一区在线| 99国产精品欲| 成人毛片在线观看| 精品一区久久久| 欧美日韩视频精品二区| 国产欧美精品一区二区色综合| 色综合电影网| 国产区在线观看| 洋洋成人永久网站入口| 免费看黄在线看| 一区一区三区| 欧美日韩精品电影| 6080国产精品| 日韩精品社区| 伊人伊成久久人综合网站| 无码人中文字幕| 欧美一区二区| 8x海外华人永久免费日韩内陆视频| 在线观看 亚洲| 麻豆成人免费电影| 成人av播放| 国产在线青青草| 成人在线高清免费| 一本久久精品一区二区| 一个色综合久久| 99久久婷婷国产综合精品青牛牛 | 国产精品黄色av| 91av国产精品| 91热门视频在线观看| 天天人人精品| www成人免费观看| 欧美视频精品在线| 女同性αv亚洲女同志| 中文字幕中文字幕精品| 不卡毛片在线看| 性无码专区无码| 精品一区二区在线视频| 国模精品娜娜一二三区| 日本亚洲精品| 一本大道久久a久久综合| 免费黄频在线观看| 天堂一区二区三区四区| 久久综合国产精品台湾中文娱乐网| 一级片免费网址| 国产一区二区美女| 日韩精品久久一区| 国产99re66在线视频| 欧美日韩午夜在线| 中文字字幕码一二三区| 欧美成人一品| 国产日韩欧美电影在线观看| 午夜视频www| 一区二区三区日韩精品| 国产精品第12页| 99re8这里有精品热视频8在线| 伊人一区二区三区久久精品| 日本a在线观看| 国内精品在线播放| 性欧美大战久久久久久久免费观看 | 91精品福利观看| 亚洲视频欧洲视频| 亚洲免费在线观看av| 福利一区在线观看| 国内自拍中文字幕| 国产电影一区二区| 日韩在线播放av| 国产午夜无码视频在线观看| 99国产精品国产精品毛片| 欧美无砖专区免费| 久久丁香四色| 欧美成人免费网| 91精品国产色综合久久不8| 久久精品日韩一区二区三区| 成熟丰满熟妇高潮xxxxx视频| 97se亚洲| 久久久久久久久中文字幕| 国产xxxx在线观看| 亚洲精品免费看| 奇米777在线视频| 亚洲va在线| 91欧美精品成人综合在线观看| 欧洲美女少妇精品| 欧美一区二区三区精品| 欧美成人一二三区| 成人性生交大片免费看中文| www.xxx麻豆| 美女扒开腿让男人桶爽久久动漫| 久久久人成影片一区二区三区| 男人天堂av网| 亚洲.国产.中文慕字在线| 亚洲天堂2024| 国产一区二区三区久久| 久久久久久国产精品mv| 性孕妇free特大另类| 亚洲理论在线a中文字幕| 男人天堂2024| 国产精品久久久久久久久搜平片| 一道本在线免费视频| 天天天综合网| 粉嫩高清一区二区三区精品视频| 91破解版在线观看| 精品无码久久久久久国产| 欧美日韩一级黄色片| 日本一区二区成人| 国产传媒免费观看| 亚洲视屏一区| 日本在线播放一区| 亚洲欧美久久精品| 欧美极品欧美精品欧美视频 | 久久久久免费视频| 天天综合网在线| 欧美亚洲国产怡红院影院| 三上悠亚作品在线观看| 国产成人免费在线视频| 少妇人妻在线视频| 青青草国产免费一区二区下载| 91精品国产综合久久香蕉最新版 | 免费在线黄色影片| 欧美日韩一二三| 亚洲精品在线观看av| 久久精品人人做人人爽人人| 亚洲色图欧美自拍| 国产日韩精品视频一区二区三区| 日本高清不卡三区| 日本亚洲视频| 国产极品精品在线观看| 18+激情视频在线| 亚洲另类欧美自拍| 国产浮力第一页| 色域天天综合网| 黄色在线观看免费| 欧美国产精品久久| 涩视频在线观看| 日韩av在线发布| 欧美在线观看视频免费| blacked蜜桃精品一区| 国产传媒一区二区三区| 51一区二区三区| 韩剧1988免费观看全集| 麻豆视频网站在线观看| 精品一区二区三区三区| 国产成a人亚洲精v品无码| 色哟哟欧美精品| 国产一级免费av| 国产精品免费看片| 蜜桃精品一区二区| 高清在线观看日韩| 国产无色aaa| 日本欧美加勒比视频| www.99热这里只有精品| 亚洲激情久久| 亚洲啪啪av| 欧美日本成人| 黑人另类av| 一区二区三区亚洲变态调教大结局| 国产精品男人爽免费视频1| ****av在线网毛片| 欧美大成色www永久网站婷| eeuss影院www在线观看| 国产视频久久久久久久| 六月丁香综合网| 日韩视频一区二区在线观看| 91精品国产乱码久久久久| 在线区一区二视频| 天堂а√在线中文在线新版 | 2020国产精品| 国产精品久久久久久久无码| 国产成a人亚洲精| aaaaaaaa毛片| 黄页网站大全一区二区| 久久久精品麻豆| 日韩精品电影在线| 人人爽人人av| 日韩精品电影一区亚洲| 成人午夜视频免费在线观看| 国产精品久久777777毛茸茸 | 日韩成人在线播放| 亚洲AV无码乱码国产精品牛牛| 欧美一区二区女人| 亚洲av无码国产综合专区| 日韩精品中文字幕在线不卡尤物 | 丰满亚洲少妇av| 久久久无码人妻精品无码| 国产成a人无v码亚洲福利| 永久免费看片在线观看| 国产一区二区91| 国产伦精品一区二区三区妓女下载| 国产一区免费电影| 中文字幕第六页| 成人18视频日本| fc2成人免费视频| 97久久超碰精品国产| 亚洲国产欧美视频| 国产亚洲精品精华液| 国产精品免费无码| 亚洲欧洲精品一区二区三区| 国产高潮国产高潮久久久91| 洋洋av久久久久久久一区| 日韩免费一二三区| 日韩欧美有码在线| 在线免费看毛片| 欧美一级视频精品观看| 欧美自拍偷拍一区二区| 亚洲美女视频网| 日本美女久久久| 日韩电影不卡一区| 欧美一级爽aaaaa大片| 精品一区二区三区在线| 一区二区在线观看网站| 欧美黄色一区| 极品美女扒开粉嫩小泬| 日本免费在线视频不卡一不卡二 | 免费看日批视频| 欧美三级电影网| 亚洲va欧美va| 亚洲人成网在线播放| 男人天堂久久久| 午夜精品久久久99热福利| 成人毛片免费| 高清视频一区二区三区| 国产日产精品一区二区三区四区的观看方式| 亚洲国产欧美日韩| 欧美日韩影院| 美女网站免费观看视频| 国产成人精品1024| 级毛片内射视频| 一区二区视频在线看| 日本视频免费观看| 欧美一二区视频| 男女视频在线观看免费| 久久99久久久久久久噜噜| 香蕉久久免费电影| 成人综合色站| 成人亚洲一区| 99热在线这里只有精品| 韩国v欧美v日本v亚洲v| 亚洲色成人网站www永久四虎| 一区二区三区在线观看欧美| 无码人妻一区二区三区免费| 欧美电视剧在线看免费| av中文字幕在线| 欧美洲成人男女午夜视频| 激情综合婷婷| 亚洲韩国在线| 香蕉久久国产| 人妻换人妻a片爽麻豆| 亚洲图片欧美激情| 波多野结衣大片| 亚洲精品国产成人| 任你弄在线视频免费观看| 国产精品自拍网| 九九亚洲视频| 国产h视频在线播放| 精一区二区三区| 少妇av片在线观看| 欧美视频中文字幕在线| 色窝窝无码一区二区三区成人网站| 爱福利视频一区| 99精品在免费线偷拍| 欧美三日本三级少妇三99| 亚洲日本视频| 911亚洲精选| 一区二区三区日韩| 国产激情视频在线播放| yellow中文字幕久久| 精品免费av在线| 日本成人黄色免费看| 久久字幕精品一区| 扒开jk护士狂揉免费| 欧美午夜精品久久久久久久| 女人18毛片一区二区三区| 久久久久国色av免费观看性色| 国产一区二区三区免费在线 | 人妻互换一区二区激情偷拍| 日本精品一区二区三区高清| 九色在线视频| 国产精品久久久久久久久久久新郎| 色综合综合网| 日韩精品免费播放| 国产欧美一区二区精品婷婷 | 337p日本欧洲亚洲大胆精品| 91麻豆国产福利在线观看宅福利| 成人啪啪免费看| 亚洲色图网站| 日本在线视频播放| 一区二区三区欧美亚洲| 亚洲精品国产suv一区| 久久免费观看视频| 久久a爱视频| 无码aⅴ精品一区二区三区浪潮| 久久影院电视剧免费观看| 中文字幕在线观看视频网站| 亚洲乱码一区av黑人高潮| 澳门av一区二区三区| 亚洲一二三区在线| 国产在线视频精品一区| 精品在线免费观看视频| 亚洲第一男人天堂| 午夜影院在线观看国产主播| 欧美在线视频二区| 久久国产免费看| 九九九久久久久| 日韩精品高清在线观看| 91精品美女| 在线观看成人免费| 不卡大黄网站免费看| 黄色片免费观看视频| 中文字幕亚洲第一| 欧美一级大片在线视频| 男人添女人下部高潮视频在观看| www成人在线观看| 亚洲影院一区二区三区| 欧美精品中文字幕一区| 欧美一级色片| 亚洲精品20p| 午夜精品免费在线观看| 国产美女视频一区二区三区| 91久久久久久久一区二区| 一区福利视频| 久久久久亚洲AV成人无在 | 婷婷亚洲一区二区三区| 国产精品普通话| 一区二区亚洲精品| 黄色av片三级三级三级免费看| 欧美不卡一区二区三区四区| 伊人久久av| 超碰人人爱人人| 久久精品夜色噜噜亚洲a∨| av男人天堂网| 国产成人精品一区二区| 欧美久久一区| 少妇太紧太爽又黄又硬又爽小说| 欧美一区二区三区精品| 五月激情久久| 可以在线看的av网站| 亚洲婷婷综合色高清在线| 人成在线免费视频| 成人91免费视频|