正則表達式其實就是一個特殊的字符串
更新時間:2012年10月07日 05:45:24 作者:
正則表達式其實就是一個特殊的字符串,如果需要對字符串的內(nèi)容進行分析匹配,正則表達式是一個不錯的選擇。簡單的用String也能實現(xiàn)該過程,但是那會相當?shù)姆爆?/div>
java正則表達式提供了比較豐富的類庫,大大簡化了這個過程。下面列出常用的基本語法:
* + ? ^ $ [] () | / \ \d \D \w \W {} {n} {n,m}等,
要注意的是“|”或符號。它可以匹配單個字符和字符串。如:t[aeio]n只匹配tan,ten,tin,ton。但不匹配toon,因為在方括號內(nèi)只能匹配單個字符,要匹配toon,使用t(a|e|i|o|oo)n就可以實現(xiàn)toon。
正則表達式就是個熟練的過程,沒有什么太過于抽象的地方。其實學軟件(不喜歡“編程”兩個字)乃至其他行業(yè)都一樣,程序員的一項硬性指標就是代碼量。代碼量越多說明越熟悉(或掌握或精通)這個實現(xiàn)過程。經(jīng)驗不是學出來的,就像語言不能學習一樣。那是要靠一個量的積累。熟才能生巧(古人真厲害,他們早知道這個道理),創(chuàng)新的前提是對某一項事物達到了非常熟練的程度。在此與朋友們共勉。
(二)String對正則表達式的支持方法:.matches(regex) 匹配括號內(nèi)的正則表達式;
.split(regex)切分字符串為字符數(shù)組。當然返回值是字符數(shù)組
.replace(old String,new String)用新的字符串替代舊的字符串。需要說明的是這個替代過程原來的字符串是不變的,而是重新new一個字符串。
如:String str="abcde";
String str2=str.replace("bc", "ff");//把str中“bc"換成”ff“
System.out.println(str); //此時輸出str的值跟開始初始化時的值一樣
System.out.println(str2); //str2的值變成想要的到的”affde“
.replaceAll(regex,String)跟replace類似。
* + ? ^ $ [] () | / \ \d \D \w \W {} {n} {n,m}等,
要注意的是“|”或符號。它可以匹配單個字符和字符串。如:t[aeio]n只匹配tan,ten,tin,ton。但不匹配toon,因為在方括號內(nèi)只能匹配單個字符,要匹配toon,使用t(a|e|i|o|oo)n就可以實現(xiàn)toon。
正則表達式就是個熟練的過程,沒有什么太過于抽象的地方。其實學軟件(不喜歡“編程”兩個字)乃至其他行業(yè)都一樣,程序員的一項硬性指標就是代碼量。代碼量越多說明越熟悉(或掌握或精通)這個實現(xiàn)過程。經(jīng)驗不是學出來的,就像語言不能學習一樣。那是要靠一個量的積累。熟才能生巧(古人真厲害,他們早知道這個道理),創(chuàng)新的前提是對某一項事物達到了非常熟練的程度。在此與朋友們共勉。
(二)String對正則表達式的支持方法:.matches(regex) 匹配括號內(nèi)的正則表達式;
.split(regex)切分字符串為字符數(shù)組。當然返回值是字符數(shù)組
.replace(old String,new String)用新的字符串替代舊的字符串。需要說明的是這個替代過程原來的字符串是不變的,而是重新new一個字符串。
如:String str="abcde";
String str2=str.replace("bc", "ff");//把str中“bc"換成”ff“
System.out.println(str); //此時輸出str的值跟開始初始化時的值一樣
System.out.println(str2); //str2的值變成想要的到的”affde“
.replaceAll(regex,String)跟replace類似。
相關文章
javascript中使用正則表達式實現(xiàn)刪除字符串中的前后空格
在前臺應用進我們經(jīng)常會碰到要刪除用戶輸入的字符中的空格的問題,下面我們來介紹一下javascript中使用正則表達式實現(xiàn)刪除字符串中的空格方法2012-09-09編寫采集規(guī)則的好幫手—RegexBuddy 下載,正則不再難
編寫采集規(guī)則的好幫手—RegexBuddy 下載,正則不再難...2007-03-03javascript下一個還原h(huán)tml代碼的正則
javascript下一個還原h(huán)tml代碼的正則...2007-08-08