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

首頁 > 學院 > 開發設計 > 正文

Java與正則表達式(2年級2)

2019-11-18 14:38:25
字體:
來源:轉載
供稿:網友

  java與正則表達式(2年級2)
學習正則表達式,我本來也按照正則表達式的組件一個個地攻。Java中寫的Summary of regular-eXPRession constrUCts也不過6頁紙,花上1天半天的時間一個個測試,學得也差不多了。可惜yqj2065的記性好、忘性大,3天之后記得幾個最簡單的東西了。慘。

MSDN上的正則表達式介紹 就是完整的教材,yqj2065又學習了一次(JScript),10天后又忘得7788了。

現在我變個花樣考慮:假如我設計regex,按照(2年級之1)中的5點能不能搞定呢?把核心5點記住先:

1. 基本正則表達式:一個單字符a(其中a 在正規字符的字母表∑中),以及元字符或元字符組成。可能是: L (a) = {a}; L (ε) ={ε}; L (Ф) = {}。

r和s 均是正則表達式時:

2. r s表達式: L (r s) = L (r) ∪ L (s)。

3. rs表達式: L (r s) = L (r) L (s)。

4. r*表達式: L (r*) = L (r) *。

5. (r)格式的表達式: L ( (r)) = L (r),括號并不改變語言,它們只調整運算的優先權。閉包>連結>并集。


我不用腦袋,用5個指頭記它們。那個指頭忘性大,就打那個指頭。單字符、并集 、連結、閉包 *、括號()。

§3字母表∑
單字符依靠于字母表∑,Java支持Unicode。所有,∑=Unicode。比如說:

String str=” 單字符依靠于字母表”,regex是字。效果不錯。


我想使用EditPad Pro方便一些,它卻不支持Unicode。也罷,本來就不預備現在研究它(3年級再搞。),先搞定ASCII - The American Standard Code for Information Interchange,似乎在匯編語言中經常查一下。現在都有些模糊了。



ASCII大概分成這幾個部分:可打印和不可打印字符。

l 不可打印字符Non-Printable Characters:Java中有幾個不可打印字符,能放在正則表達式中,這些東西倒是有點希奇。

l 可打印字符:所有大寫和小寫字母、所有數字、所有標點符號和一些其他符號。這里的要害在于有一些可打印字符with special meanings,成為了元字符(metacharacters)。



所有的ASCII字符中,我們千調萬選找了一個最非凡的字符backslash /,作為轉義escape開關。雖然與Java的轉義符號一樣,我還是希奇為什么選它而不選#。它很輕易與除號/混淆,另外M$ OS中的目錄經常是E:/Regex/1/2,我聽說C++編程時,其regex要用E:////Regex////1去匹配,不知在Java的源代碼中,怎么樣。

核心1點說明:單一的a、x、#,’,” 都是基本的regex。單一的元字符都不是基本的regex。



練習:str=” b!c@d#e$f%g^h&j&k*l”+

”(m)n_o+pq/r=s-t/u.v,W?x>y<z/"aa/'”

①regEx="#"(或/"、/’、 r、 //、 >、n、)注重:Java的源代碼中String要使用轉義/"而且regEx="/"",但正則表達式是"如程序:

import java.util.regex.*;

class Regex1{

public static void main(String args[]) {

String str="For my/" money/" ";

String regEx="/""; //

Pattern p=Pattern.compile(regEx);

Matcher m=p.matcher(str);

boolean result=m.find();

System.out.println(result);

}

}

這里的要點是:Java語言本身對源代碼中的一些字符/"要經過編譯處理,之后正則表達式引擎才得到一個regexp"。這也是C++用4個backslash匹配一個/文本字符的原因。我們要區別Java語言與正則表達式各自的要求。

在使用各種正則表達式練習器時,一定要注重。




§4并集
核心2點是ab。在文檔中稱為"character class", 也叫 "character set"。這就不好翻譯了,字符集輕易與ASCII字符集等混淆,字符類?不倫不類。也許叫字符并集比較好,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 军事| 五莲县| 长治县| 平利县| 文成县| 伊川县| 政和县| 苏尼特右旗| 武川县| 蕲春县| 云林县| 吴江市| 锡林浩特市| 富民县| 常宁市| 安龙县| 宿松县| 西青区| 册亨县| 大石桥市| 会理县| 雷山县| 周至县| 兴化市| 松滋市| 金沙县| 安福县| 马鞍山市| 昌黎县| 平陆县| 壤塘县| 富平县| 青州市| 张家口市| 温宿县| 高青县| 体育| 乐亭县| 伊宁县| 咸宁市| 崇仁县|