java中常用的匹配正則表達(dá)式實例_第1頁
java中常用的匹配正則表達(dá)式實例_第2頁
java中常用的匹配正則表達(dá)式實例_第3頁
java中常用的匹配正則表達(dá)式實例_第4頁
java中常用的匹配正則表達(dá)式實例_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、匹配中文字符的正則表達(dá)式: u4e00-u9fa5評注:匹配中文還真是個頭疼的事,有了這個表達(dá)式就好辦了匹配雙字節(jié)字符(包括漢字在內(nèi)):x00-xff評注:可以用來計算字符串的長度(一個雙字節(jié)字符長度計 2,ASCII 字符計 1)匹配空白行的正則表達(dá)式:ns*r評注:可以用來刪除空白行匹配 HTML 標(biāo)記的正則表達(dá)式:*.*?|評注:網(wǎng)上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對于復(fù)雜的嵌套標(biāo)記依舊為力匹配首尾空白字符的正則表達(dá)式:s*|s*$評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達(dá)式匹配地址的正則表達(dá)式:w+(-+.w+)*w+(-.w+)*

2、.w+(-.w+)*評注:表單驗證時很實用匹配URL 的正則表達(dá)式:a-zA-z+:/s*評注:網(wǎng)上流傳的版本功能很有限,上面這個基本可以滿足需求匹配帳號是否合法(字母開頭,允許 5-16 字節(jié),允許字母數(shù)字下劃線):a-zA-Za-zA-Z0-9_4,15$評注:表單驗證時很實用匹配國內(nèi)號碼:d3-d8|d4-d7評注:匹配形式如或匹配騰訊 評注:騰訊:1-90-94,號從開始匹配中國 評注:中國:1-9d5(?!d)為 6 位數(shù)字匹配:d15|d18評注:中國的為 15 位或 18 位匹配 ip 地址:d+.d+.d+.d+評注:提取 ip 地址時有用匹配特定數(shù)字:1-9d*$-1-9d*

3、$/匹配正整數(shù)/匹配負(fù)整數(shù)-?1-9d*$1-9d*|0$-1-9d*|0$/匹配整數(shù)/匹配非負(fù)整數(shù)(正整數(shù) + 0)/匹配非正整數(shù)(負(fù)整數(shù) + 0)1-9d*.d*|0.d*1-9d*$-(1-9d*.d*|0.d*1-9d*)$/匹配正浮點數(shù)/匹配負(fù)浮點數(shù)-?(1-9d*.d*|0.d*1-9d*|0?.0+|0)$/匹配浮點數(shù)1-9d*.d*|0.d*1-9d*|0?.0+|0$+ 0)/匹配非負(fù)浮點數(shù)(正浮點數(shù)(-(1-9d*.d*|0.d*1-9d*)|0?.0+|0$點數(shù) + 0)評注:處理大量數(shù)據(jù)時有用,具體應(yīng)用時注意修正/匹配非正浮點數(shù)(負(fù)浮匹配特定字符串:A-Za-z+$A-

4、Z+$a-z+$/匹配由 26 個英文字母組成的字符串/匹配由 26 個英文字母的大寫組成的字符串/匹配由 26 個英文字母的小寫組成的字符串A-Za-z0-9+$/匹配由數(shù)字和 26 個英文字母組成的字符串w+$/匹配由數(shù)字、26 個英文字母或者下劃線組成的字符串匹配中文字符的正則表達(dá)式: u4e00-u9fa5匹配雙字節(jié)字符(包括漢字在內(nèi)):x00-xff應(yīng)用:計算字符串的長度(一個雙字節(jié)字符長度計 2,ASCII 字符計 1)Stotype.len=function()return this.replace(x00-xff/g,aa).length;匹配空行的正則表達(dá)式:ns| *r匹配

5、 HTML 標(biāo)記的正則表達(dá)式:/.*|/匹配首尾空格的正則表達(dá)式:(s*)|(s*$)應(yīng)用:javascript 中沒有像vbscript 那樣的 trim 函數(shù),下:就可以利用這個表達(dá)式來實現(xiàn),如Stotype.trim = function()return this.replace(/(s*)|(s*$)/g, );利用正則表達(dá)式分解和轉(zhuǎn)換 IP 地址:下面是利用正則表達(dá)式匹配 IP 地址,并將 IP 地址轉(zhuǎn)換成對應(yīng)數(shù)值的 Javascript 程序:function IP2V(ip)re=/(d+).(d+).(d+).(d+)/g /匹配 IP 地址的正則表達(dá)式if(re.test(i

6、p)returnRegExp.$1*Math.else(255,3)+RegExp.$2*Math.(255,2)+RegExp.$3*255+RegExp.$4*1throw new Error(Not a valid IP address!)不過上面的程序如果不用正則表達(dá)式,而直接用 split 函數(shù)來分解可能更簡單,程序如下:var ip=68ip=ip.split(.)alert(IP 值是:+(ip0*255*255*255+ip1*255*255+ip2*255+ip3*1)匹配地址的正則表達(dá)式:w+(-+.w+)*w+(-.w+)*.w+(-.w+)*匹配URL 的正則表達(dá)式:h

7、ttp:/(/w-+/.)+/w-+(/w- ./?%&=*)?利用正則表達(dá)式去除字串中重復(fù)的字符的算法程序:注:此程序不正確,原因見本貼回復(fù)var s=abacabefgeeiivar s1=s.replace(/(.).*1/g,$1)var re=new RegExp(+s1+,g) var s2=s.replace(re,)alert(s1+s2) /結(jié)果為:abcefgi這個方法對于字符順序有要求的字符串可能不適用。得用正則表達(dá)式從 URL 地址中提取文件名的 javascript 程序,如下結(jié)果為 page1s=s=s.replace(/(.*/)0,(.+).*/ig,$2)al

8、ert(s)利用正則表達(dá)式限制網(wǎng)頁表單里的文本框輸入內(nèi)容:用正則表達(dá)式限制只能輸入中文: onkeyup=value=value.replace(/u4E00-u9FA5/g, )onbeforepaste=clipboardData.setData(text,clipboardData.getData(text).replace(/ u4E00-u9FA5/g, )用正則表達(dá)式限制只能輸入全角字符:onkeyup=value=value.replace(/uFF00-uF/g, )onbeforepaste=clipboardData.setData(text,clipboardData.g

9、et Data(text).replace(/ uFF00-uF/g, )用 正 則 表 達(dá) 式 限 制 只 能 輸 入 數(shù) 字 : onkeyup=value=value.replace(/d/g, )onbeforepaste=clipboardData.setData(text,clipboardData.getData(text).replace(/ d/g, )用 正 則 表 達(dá) 式 限 制 只 能 輸 入 數(shù) 字 和 英 文 : onkeyup=value=value.replace(/W/g, )onbeforepaste=clipboardData.setData(text,c

10、lipboardData.getData(text).replace(/ d/g, )public class Regular/*匹配地址paramreturn*/publiccheck(String)return(.matches(w+(-+.w+)*w+(-.w+)*.w+(-.w+)*);/*匹配國內(nèi)號碼* 匹配形式如或* param* return*/publiccheck(String)return( .matches(d3-d8|d4-d7);/* 匹配* 中國的為 15 位或 18 位* param id* return*/publiccheckIdentityCard(String id)return(id.matches(d140-9X|d170-9X);/* 匹配中文字符一次或多次* param ch* return*/publiccheckChi(String ch)return(atches(u4e00-u9fa5+);/* 匹配雙字節(jié)字符一次或多次* param

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論