正則表達式
[原創]巧用System.getProperty()編譯現有工程的java文件
摘要: 本文所提供的方法解決了使用JAVA動態編譯現有工程中的源文件的簡便方法!利用javac編譯.java文件(因.java依賴包過多,如果手寫要累死了!!這里正好使用:System.getProperty("java.class.path")),動態生成依賴包!
閱讀全文
posted @
2012-07-24 23:44 零全零美 閱讀(1524) |
評論 (1) 編輯
[原創]正則表達式學習筆記(5):分組、捕獲性分組和非捕獲性分組
摘要: 問題提出:將格式為:"25/10/2009"的時間轉換為"2009-10-25"的格式
問題分析:
1、年份2009、月份10、日25應該做為一個獨立的單位,這樣我們可以直接知道什么地方匹配的是年、月還是日
2、可以用\d\d\d\d來匹配年份,用\d\d來匹配月份,用\d\d來匹配日
3、應該可以有一個地方存儲匹配過的結果,以便于轉換
解決問題所必須知道的:
1、分組就是將若干單位(可以是字符,正則表達式等等)組織在一起,成為一個獨立的單元,
該單位可以跟獨立的字符一樣,受量詞的控制,分組使用()表示
2、分組分為捕獲性分組和非捕獲性分組,簡單的說捕獲性分組就是捕獲分組所匹配的內容暫且存儲在某個地方,以便下次使用,捕獲性分組以(...)表示,有些地方將取得捕獲性分組所匹配結果的過程稱之為"反向引用",非捕獲性分組不捕獲分組所匹配的內容,當然也就得不到匹配的結果,非捕獲性分組以(?:...)表示,在一些只需要分組匹配但是并不需要得到各個分組匹配的結果時,使用非捕獲性分組可以提供匹配速度。
3、在JavaScr
閱讀全文
posted @
2009-10-25 13:01 零全零美 閱讀(3978) |
評論 (2) 編輯
正則表達式學習筆記(4) 貪婪、惰性和支配量詞
摘要: 貪婪量詞:
先看整個字符串是不是一個匹配。如果沒有發現匹配,它去掉最后字符串中的最后一個字符,并再次嘗試。如果還是沒有發現匹配,那么 再次去掉最后一個字符串,這個過程會一直重復直到發現一個匹配或者字符串不剩任何字符。簡單量詞都是貪婪量詞。
惰性量詞:
先看字符串中的第一個字母是不是一個匹配,如果單獨著一個字符還不夠,就讀入下一個字符,組成兩個字符的字符串。如果還沒有發現匹配,惰性量詞繼續從字符串中添加字符直到發現一個匹配或者整個字符串都檢查過也沒有匹配。惰性量詞和貪婪量詞的工作方式恰好相反。
支配量詞:
只嘗試匹配整個字符串。如果整個字符串不能產生匹配,不做進一步嘗試。
閱讀全文
posted @
2009-01-07 14:54 零全零美 閱讀(3497) |
評論 (3) 編輯
正則表達式學習筆記(3) 簡單量詞
摘要: 量詞用于指定特定模式出現的次數,這個次數可以是硬性的,如某個字符應該出現4次,如果沒有出現四次就是錯的,也可以是軟性的,如某個字符應該出現0至4次,意思是該字符可以出現,也可以不出現,可以出現一次,兩次,也可以出現三次,四次。
閱讀全文
posted @
2008-11-29 14:13 零全零美 閱讀(1744) |
評論 (3) 編輯
正則表達式學習筆記(2) 多選結構--匹配任意子表達式
摘要: "|":意思是"或",他可以把多個子表達式組合成一個總的表達式,而這個總表達式擁有子表達式的全部能力
閱讀全文
posted @
2008-11-21 13:44 零全零美 閱讀(3656) |
評論 (2) 編輯
正則表達式學習筆記(1) 行的開始和結束、字符組、連字符、脫字符、用"."去匹配任意字符
摘要: 行的開始和結束 開始符號:^ 結束符號:$ 如:^cat 應該理解為以c作為一行的第一個字符,緊接著是a,然后是t
例如:String str = "catabdcatdetfcat"
^cat : 驗證該行以c開頭緊接著是a,然后是t
cat$ : 驗證該行以t結尾倒數第二個字符為a倒數第三個字符為c
^cat$: 以c開頭接著是a->t然后是行結束:只有cat三個字母的數據行
^$ : 開頭之后馬上結束:空白行,不包括任何字符
^ : 行的開頭,可以匹配任何行,因為每個行都有行開頭
閱讀全文
posted @
2008-11-19 19:36 零全零美 閱讀(17751) |
評論 (7) 編輯