国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java正則表達(dá)式詳解

2019-11-18 11:29:36
字體:
供稿:網(wǎng)友

假如你曾經(jīng)用過Perl或任何其他內(nèi)建正則表達(dá)式支持的語言,你一定知道用正則表達(dá)式處理文本和匹配模式是多么簡單。假如你不熟悉這個術(shù)語,那么“正則表達(dá)式”(Regular EXPRession)就是一個字符構(gòu)成的串,它定義了一個用來搜索匹配字符串的模式。 許多語言,包括Perl、php、Python、javascript和JScript,都支持用正則表達(dá)式處理文本,一些文本編輯器用正則表達(dá)式實(shí)現(xiàn)高級“搜索-替換”功能。那么Java又怎樣呢?本文寫作時,一個包含了用正則表達(dá)式進(jìn)行文本處理的Java規(guī)范需求(Specification Request)已經(jīng)得到認(rèn)可,你可以期待在JDK的下一版本中看到它。 然而,假如現(xiàn)在就需要使用正則表達(dá)式,又該怎么辦呢?你可以從Apache.org下載源代碼開放的Jakarta-ORO庫。本文接下來的內(nèi)容先簡要地介紹正則表達(dá)式的入門知識,然后以Jakarta-ORO API為例介紹如何使用正則表達(dá)式。 一、正則表達(dá)式基礎(chǔ)知識 我們先從簡單的開始。假設(shè)你要搜索一個包含字符“cat”的字符串,搜索用的正則表達(dá)式就是“cat”。假如搜索對大小寫不敏感,單詞“catalog”、“Catherine”、“sophisticated”都可以匹配。也就是說: Java正則表達(dá)式詳解(圖一) 1.1 句點(diǎn)符號 假設(shè)你在玩英文拼字游戲,想要找出三個字母的單詞,而且這些單詞必須以“t”字母開頭,以“n”字母結(jié)束。另外,假設(shè)有一本英文字典,你可以用正則表達(dá)式搜索它的全部內(nèi)容。要構(gòu)造出這個正則表達(dá)式,你可以使用一個通配符——句點(diǎn)符號“.”。這樣,完整的表達(dá)式就是“t.n”,它匹配“tan”、 “ten”、“tin”和“ton”,還匹配“t#n”、“tpn”甚至“t n”,還有其他許多無意義的組合。這是因?yàn)榫潼c(diǎn)符號匹配所有字符,包括空格、Tab字符甚至換行符: Java正則表達(dá)式詳解(圖二) 1.2 方括號符號 為了解決句點(diǎn)符號匹配范圍過于廣泛這一問題,你可以在方括號(“[]”)里面指定看來有意義的字符。此時,只有方括號里面指定的字符才參與匹配。也就是說,正則表達(dá)式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”。但“Toon”不匹配,因?yàn)樵诜嚼ㄌ栔畠?nèi)你只能匹配單個字符: Java正則表達(dá)式詳解(圖三) 1.3 “或”符號 假如除了上面匹配的所有單詞之外,你還想要匹配“toon”,那么,你可以使用“”操作符。“”操作符的基本意義就是“或”運(yùn)算。要匹配 “toon”,使用“t(aeiooo)n”正則表達(dá)式。這里不能使用方擴(kuò)號,因?yàn)榉嚼ㄌ栔淮饝?yīng)匹配單個字符;這里必須使用圓括號“()”。圓括號還可以用來分組,具體請參見后面介紹。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉木萨尔县| 阿克| 吕梁市| 疏勒县| 凤城市| 遂宁市| 花垣县| 电白县| 叶城县| 昭苏县| 界首市| 大新县| 山西省| 涞源县| 延寿县| 太湖县| 武清区| 陕西省| 巴楚县| 宁阳县| 乐平市| 丹东市| 淮安市| 岳阳市| 长宁县| 隆德县| 中卫市| 民丰县| 如皋市| 政和县| 鱼台县| 伊吾县| 和林格尔县| 新化县| 济宁市| 同心县| 喀喇沁旗| 田东县| 巴楚县| 九江市| 沅陵县|