国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

這篇具有很好參考價(jià)值的文章主要介紹了Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

正則表達(dá)式概念:

正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語(yǔ):Regular Expression,在代碼中常簡(jiǎn)寫(xiě)為 regex、regexp 或 RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式(規(guī)則)的文本。

正則表達(dá)式是對(duì)字符串(包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為“元字符”))操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。正則表達(dá)式是一種文本模式,該模式描述在搜索文本時(shí)要匹配的一個(gè)或多個(gè)字符串。

String中的match()方法

String.matches() 這個(gè)方法主要是返回是否匹配指定的字符串,如果匹配則為 true,反之為 false。
這個(gè)方法的參數(shù)為正則表達(dá)式,關(guān)于正則表達(dá)式的用法如下:

  • 檢查一個(gè)字符串中是否含有符合某個(gè)規(guī)則的子串,并且可以得到這個(gè)子串;
  • 根據(jù)匹配規(guī)則對(duì)字符串進(jìn)行靈活的替換 / 檢索操作。

正則表達(dá)式規(guī)則

1.普通字符

字母、數(shù)字、漢字、下劃線、以及沒(méi)有特殊定義的標(biāo)點(diǎn)符號(hào),都是 “普通字符”。表達(dá)式中的普通字符,在匹配一個(gè)字符串的時(shí)候,匹配與之相同的一個(gè)字符。

字符 描述
[abc] 匹配[…]中所有的字符
[^abc] 匹配除了[…]中所有的字符
[A-Z] 匹配說(shuō)有區(qū)間A-Z的字符
[0-9] 表示區(qū)間,匹配0-9的數(shù)字
. 匹配除了換行符(\r、\n)之外的任何單個(gè)字符,相當(dāng)于[^\r\n]

2.簡(jiǎn)單的轉(zhuǎn)義字符

Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總
Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

3.能夠與 ‘多種字符’ 匹配的表達(dá)式

正則表達(dá)式中的一些表示方法,可以匹配 ‘多種字符’ 其中的任意一個(gè)字符。比如,表達(dá)式 “\d” 可以匹配任意一個(gè)數(shù)字。雖然可以匹配其中任意字符,但是只能是一個(gè),不是多個(gè)。
Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

4.自定義能夠匹配 ‘多種字符’ 的表達(dá)式

使用方括號(hào) [ ] 包含一系列字符,能夠匹配其中任意一個(gè)字符。用 [^ ] 包含一系列字符,則能夠匹配其中字符之外的任意一個(gè)字符。同樣的道理,雖然可以匹配其中任意一個(gè),但是只能是一個(gè),不是多個(gè)。
Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

5.修飾匹配次數(shù)的特殊符號(hào)

前面講到的表達(dá)式,無(wú)論是只能匹配一種字符的表達(dá)式,還是可以匹配多種字符其中任意一個(gè)的表達(dá)式,都只能匹配一次。如果使用表達(dá)式再加上修飾匹配次數(shù)的特殊符號(hào),那么不用重復(fù)書(shū)寫(xiě)表達(dá)式就可以重復(fù)匹配。
Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

6.代表抽象意義的特殊符號(hào)

  • 一些符號(hào)在表達(dá)式中代表抽象的特殊意義:
    Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總
  • 一些符號(hào)可以影響表達(dá)式內(nèi)部的子表達(dá)式之間的關(guān)系:
    Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

常用正則表達(dá)式

1、校驗(yàn)數(shù)字的表達(dá)式

數(shù)字:1*$

  • n位的數(shù)字:^\d{n}$
  • 至少n位的數(shù)字:^\d{n,}$
  • m-n位的數(shù)字:^\d{m,n}$
  • 零和非零開(kāi)頭的數(shù)字:^(0|[1-9][0-9]*)$
  • 非零開(kāi)頭的最多帶兩位小數(shù)的數(shù)字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
  • 帶1-2位小數(shù)的正數(shù)或負(fù)數(shù):^(-)?\d+(.\d{1,2})$
  • 正數(shù)、負(fù)數(shù)、和小數(shù):^(-|+)?\d+(.\d+)?$
  • 有兩位小數(shù)的正實(shí)數(shù):2+(.[0-9]{2})?$
  • 有1~3位小數(shù)的正實(shí)數(shù):3+(.[0-9]{1,3})?$
  • 非零的正整數(shù):4\d*$ 或 ^([1-9][0-9]){1,3}$ 或 ^+?[1-9][0-9]$
  • 非零的負(fù)整數(shù):^-[1-9][]0-9"$ 或 ^-[1-9]\d$
  • 非負(fù)整數(shù):^\d+$ 或 5\d*|0$
  • 非正整數(shù):^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
  • 非負(fù)浮點(diǎn)數(shù):^\d+(.\d+)?$ 或 6\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$
  • 非正浮點(diǎn)數(shù):^((-\d+(.\d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$
  • 正浮點(diǎn)數(shù):7\d*.\d*|0.\d*[1-9]\d*$ 或 ^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$
  • 負(fù)浮點(diǎn)數(shù):^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$ 或 ^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))$
  • 浮點(diǎn)數(shù):^(-?\d+)(.\d+)?$ 或 ^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$

2、校驗(yàn)字符的表達(dá)式

  • 漢字:8{0,}$
  • 英文和數(shù)字:9+$ 或 10{4,40}$
  • 長(zhǎng)度為3-20的所有字符:^.{3,20}$
  • 由26個(gè)英文字母組成的字符串:11+$
  • 由26個(gè)大寫(xiě)英文字母組成的字符串:12+$
  • 由26個(gè)小寫(xiě)英文字母組成的字符串:13+$
  • 由數(shù)字和26個(gè)英文字母組成的字符串:14+$
  • 由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:^\w+$ 或 ^\w{3,20}$
  • 中文、英文、數(shù)字包括下劃線:15+$
  • 中文、英文、數(shù)字但不包括下劃線等符號(hào):16+$ 或 17{2,20}$
  • 可以輸入含有^%&',;=?KaTeX parse error: Expected group after '^' at position 8: \"等字符:[^?%&',;=?\x22]+
  • 禁止輸入含有的字符:[^\x22]+

3、特殊需求表達(dá)式

  • Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
  • 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?
  • InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$
  • 手機(jī)號(hào)碼:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
  • 電話號(hào)碼(“XXX-XXXXXXX”、“XXXX-XXXXXXXX”、“XXX-XXXXXXX”、“XXX-XXXXXXXX”、"XXXXXXX"和"XXXXXXXX):^((\d{3,4}-)|\d{3.4}-)?\d{7,8}$
  • 國(guó)內(nèi)電話號(hào)碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
  • 電話號(hào)碼正則表達(dá)式(支持手機(jī)號(hào)碼,3-4位區(qū)號(hào),7-8位直播號(hào)碼,1-4位分機(jī)號(hào)): ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
  • 身份證號(hào)(15位、18位數(shù)字),最后一位是校驗(yàn)位,可能為數(shù)字或字符X:(\d{15}$)|(^\d{18}$)|(\d{17}(\d|X|x) ) 帳號(hào)是否合法 ( 字母開(kāi)頭,允許 5 ? 16 字節(jié),允許字母數(shù)字下劃線 ) : [ a ? z A ? Z ] [ a ? z A ? Z 0 ? 9 ] 4 , 15 ) 帳號(hào)是否合法(字母開(kāi)頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15} )帳號(hào)是否合法(字母開(kāi)頭,允許5?16字節(jié),允許字母數(shù)字下劃線)[a?zA?Z][a?zA?Z0?9]?4,15
  • 密碼(以字母開(kāi)頭,長(zhǎng)度在6~18之間,只能包含字母、數(shù)字和下劃線):18\w{5,17}$
  • 強(qiáng)密碼(必須包含大小寫(xiě)字母和數(shù)字的組合,不能使用特殊字符,長(zhǎng)度在 8-10 之間):^(?=.\d)(?=.[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
  • 強(qiáng)密碼(必須包含大小寫(xiě)字母和數(shù)字的組合,可以使用特殊字符,長(zhǎng)度在8-10之間):^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$
  • 日期格式:^\d{4}-\d{1,2}-\d{1,2}
  • 一年的12個(gè)月(01~09和1~12):^(0?[1-9]|1[0-2])$
  • 一個(gè)月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
  • xml文件:^([a-zA-Z]±?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$
  • 中文字符的正則表達(dá)式:[\u4e00-\u9fa5]
  • 雙字節(jié)字符:[^\x00-\xff] (包括漢字在內(nèi),可以用來(lái)計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1))
    空白行的正則表達(dá)式:\n\s*\r (可以用來(lái)刪除空白行)
    HTML標(biāo)記的正則表達(dá)式:<(\S*?)[^>]>.?|<.? /> ( 首尾空白字符的正則表達(dá)式:^\s|\s*KaTeX parse error: Undefined control sequence: \s at position 4: 或(^\?s?*)|(\s*) (可以用來(lái)刪除行首行尾的空白字符(包括空格、制表符、換頁(yè)符等等),非常有用的表達(dá)式)
  • 騰訊QQ號(hào):[1-9][0-9]{4,} (騰訊QQ號(hào)從10000開(kāi)始)
  • 中國(guó)郵政編碼:[1-9]\d{5}(?!\d) (中國(guó)郵政編碼為6位數(shù)字)
  • IP地址:((????:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))

  1. 0-9 ??

  2. 0-9 ??

  3. 0-9 ??

  4. 1-9 ??

  5. 1-9 ??

  6. 1-9 ??

  7. 1-9 ??

  8. \u4e00-\u9fa5 ??

  9. A-Za-z0-9 ??

  10. A-Za-z0-9 ??

  11. A-Za-z ??

  12. A-Z ??

  13. a-z ??

  14. A-Za-z0-9 ??

  15. \u4E00-\u9FA5A-Za-z0-9_ ??

  16. \u4E00-\u9FA5A-Za-z0-9 ??

  17. \u4E00-\u9FA5A-Za-z0-9 ??

  18. a-zA-Z ??文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-491264.html

到了這里,關(guān)于Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 正則表達(dá)式使用匯總

    正則表達(dá)式使用匯總

    正則表達(dá)式是由一些具有特殊含義的字符組成的字符串,多用于查找、替換符合規(guī)則的字符串。在表單驗(yàn)證、Url映射等處都會(huì)經(jīng)常用到。 平時(shí)可以使用正則表達(dá)式的在線測(cè)試工具練習(xí)和測(cè)試:正則表達(dá)式在線工具 我們?cè)趯?xiě)用戶注冊(cè)表單時(shí),只允許用戶名包含字符、數(shù)字、下

    2024年02月15日
    瀏覽(20)
  • 正則表達(dá)式的常見(jiàn)語(yǔ)法

    ?????? 目錄 一、基本的正則表達(dá)式語(yǔ)法 1.1 字符類 1.2?單個(gè)字符的特殊表示 1.3 量詞表示 ?1.4?邊界匹配 1.5?分組與捕獲 ?二 、java中的使用 ??在Java中使用正則表達(dá)式進(jìn)行字符串匹配可以說(shuō)是一個(gè)很重要的技能,尤其對(duì)于需要進(jìn)行文本處理或者字符替換的程序來(lái)說(shuō),更是必

    2024年04月28日
    瀏覽(48)
  • javaScript基礎(chǔ)語(yǔ)法之正則表達(dá)式

    表達(dá)式 描述 [0-9] 查找任何從 0 至 9 的數(shù)字。例如,匹配: \\\'111\\\' ,不匹配:\\\'eee\\\' [abc] 查找方括號(hào)之間的任何字符。例如,/[123]/ 匹配 \\\"1234567\\\" 中的 \\\"123\\\",\\\"1\\\" 中的 \\\"1\\\"。但是不匹配 \\\"4567890\\\"。 [^abc] 查找任何不在方括號(hào)之間的字符。例如,/[^123]/ 匹配 \\\"4567890\\\" 中的 \\\"4567890\\\"。但是不匹

    2024年02月09日
    瀏覽(54)
  • 正則表達(dá)式概念以及語(yǔ)法的使用

    正則表達(dá)式概念以及語(yǔ)法的使用

    目錄 1.概念 2. 為什么使用正則表達(dá)式? 3. 語(yǔ)法 1.普通字符 非打印字符 2. 特殊字符 3. 限定符 4. 定位符 5. 運(yùn)算優(yōu)先級(jí) 3.匹配規(guī)則 1. 基本模式匹配 2. 字符簇 3. 確定重復(fù)出現(xiàn) 正則表達(dá)式(Regular Expression) 是一種文本模式 , 包括普通字符(例如,a 到 z 之間的字母) 和特殊字符(

    2024年02月16日
    瀏覽(21)
  • Python高級(jí)語(yǔ)法與正則表達(dá)式

    Python提供了 with 語(yǔ)句的寫(xiě)法,既簡(jiǎn)單又安全。 文件操作的時(shí)候使用with語(yǔ)句可以自動(dòng)調(diào)用關(guān)閉文件操作,即使出現(xiàn)異常也會(huì)自動(dòng)關(guān)閉文件操作。 生成器推導(dǎo)式 與列表推導(dǎo)式類似,只不過(guò)生成器推導(dǎo)式使用小括號(hào) 。 next 函數(shù)獲取生成器中的下一個(gè)值 for ?循環(huán)遍歷生成器中的每

    2024年02月04日
    瀏覽(25)
  • 【SQL-正則】利用正則表達(dá)式進(jìn)行過(guò)濾操作(常用正則表達(dá)式)

    1、由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串 2、非負(fù)整數(shù)(正整數(shù) + 0 ) 3、正整數(shù) 4、非正整數(shù)(負(fù)整數(shù) + 0) 5、負(fù)整數(shù) 6、整數(shù) 7、非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0) 8、正浮點(diǎn)數(shù) 9、非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0) 10、負(fù)浮點(diǎn)數(shù) 11、浮點(diǎn)數(shù) 12、由26個(gè)英文字母組成的字符串 13、

    2024年02月12日
    瀏覽(32)
  • ?LeetCode解法匯總5-正則表達(dá)式匹配?

    https://github.com/September26/java-algorithms 你有一個(gè)用于表示一片土地的整數(shù)矩陣 land ,該矩陣中每個(gè)點(diǎn)的值代表對(duì)應(yīng)地點(diǎn)的海拔高度。若值為0則表示水域。由垂直、水平或?qū)沁B接的水域?yàn)槌靥?。池塘的大小是指相連接的水域的個(gè)數(shù)。編寫(xiě)一個(gè)方法來(lái)計(jì)算矩陣中所有池塘的大小,

    2024年02月10日
    瀏覽(15)
  • 【JavaScript_2】語(yǔ)法、標(biāo)準(zhǔn)庫(kù)、正則表達(dá)式

    1、強(qiáng)制轉(zhuǎn)換 使用Number函數(shù),可以將任意類型的值轉(zhuǎn)化成數(shù)值。 Number函數(shù)將字符串轉(zhuǎn)為數(shù)值,要比parseInt函數(shù)嚴(yán)格很多?;旧希灰幸粋€(gè)字符無(wú)法轉(zhuǎn)成數(shù)值,整個(gè)字符串就會(huì)被轉(zhuǎn)為NaN。 上面代碼中,parseInt逐個(gè)解析字符,而Number函數(shù)整體轉(zhuǎn)換字符串的類型。 另外,parseI

    2024年02月13日
    瀏覽(32)
  • 正則表達(dá)式、常用的正則

    正則表達(dá)式(Regular Expression,簡(jiǎn)稱為Regex或RegExp)是用于匹配和搜索文本模式的工具。它是一個(gè)強(qiáng)大且靈活的字符串處理工具,可以用來(lái)檢查一個(gè)字符串是否符合特定的模式,或者從一個(gè)文本中提取滿足條件的部分。 在正則表達(dá)式中,可以使用不同的元字符和特殊符號(hào)來(lái)定義

    2024年02月14日
    瀏覽(18)
  • 【Golang】Perl 正則表達(dá)式語(yǔ)法的支持示例

    在 Golang 中,標(biāo)準(zhǔn)庫(kù)的正則表達(dá)式包 regexp 是基于 RE2 語(yǔ)法的,并不直接支持 Perl 正則表達(dá)式的全部功能。雖然 Golang 的標(biāo)準(zhǔn)庫(kù)并不直接提供對(duì) Perl 正則表達(dá)式的支持,但是您可以使用第三方庫(kù)來(lái)實(shí)現(xiàn)與 Perl 兼容的正則表達(dá)式功能。 一個(gè)常用的第三方庫(kù)是 github.com/dlclark/regexp2

    2024年01月17日
    瀏覽(53)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包