<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-5  評論-41  文章-13  trackbacks-0

    1 <script language="javascript">
    2 function format(){
    3     var r = /\S[^\r\n]*\S/;
    4     var name="\r\n              username__  nn \r\n               ";
    5     var rName=name.match(r);
    6     return rName;
    7 }
    8 </script>

        這兩天被正則表達(dá)式搞得云里霧里的。很快就得出了自己想要的結(jié)果,但是卻連自己都不知道自己的正則表達(dá)式應(yīng)該怎么解釋。以前雖然也用過正則表達(dá)式寫一些東 西,但是卻沒仔細(xì)理解過它的執(zhí)行步驟。借此機(jī)會對正則表達(dá)式進(jìn)行了一下學(xué)習(xí),才發(fā)現(xiàn)原來知道了正則表達(dá)式的執(zhí)行步驟之后,要對它進(jìn)行解釋也是很容易的。
        以上面的代碼為例,目標(biāo)是要取出“username__  nn”這個字符串。
        我原來的錯誤理解是這樣的:一開始就拿整個正則表達(dá)式“\S[^\r\n]*\S”去對name字符串從左到右進(jìn)行匹配,那么以“非空字符(\S)”開頭,以“非空字符(\S)”結(jié)尾,中間是非"\r\n"的字符串,第一個匹配的結(jié)果應(yīng)該是“username__”啊,怎么會是“username__  nn”呢?后來google了一些資料看了之后才明白,是我把執(zhí)行的步驟搞錯的。
        正確的解釋應(yīng)該是這樣的:首先用正則表達(dá)式的第一個匹配符“\S”去對name進(jìn)行匹配,得到結(jié)果"username__  nn \r\n               ",然后用"[^\r\n]*"從"s"開始進(jìn)行匹配,得到結(jié)果"username__  nn空格",由于最后用"\S"對前面得出的結(jié)果"username__  nn空格"進(jìn)行匹配(由于[^\r\n]*中的*的存在,所以匹配"\S[^\r\n]*"的其實(shí)是一組結(jié)果--從"us"一直到"username__  nn空格",而最后那個"\S"則是對一組結(jié)果都進(jìn)行匹配,匹配后也會得到一組結(jié)果--從"us"一直到"username__",再加上"username__  n"和"username__  nn"),返回最大匹配結(jié)果,得到正確的結(jié)果"username__  nn"。
        寫得好像有點(diǎn)亂,要是看完理解不了的話,按照上面說的可能結(jié)果對原始字符串name進(jìn)行一下修改,做一下測試就會明白了。
    posted on 2006-02-08 12:04 OO 閱讀(572) 評論(0)  編輯  收藏 所屬分類: java相關(guān)的亂七八糟的東西
    主站蜘蛛池模板: 精品久久免费视频| 亚洲精品免费在线| 亚洲国产成人久久综合碰| 国产成人亚洲综合一区| 国产电影午夜成年免费视频| 亚洲黄色三级网站| 亚欧色视频在线观看免费| 亚洲国产精品白丝在线观看| 免费观看AV片在线播放| 色天使亚洲综合在线观看| 在线免费视频一区二区| 色婷婷六月亚洲综合香蕉| 免费国产高清视频| av电影在线免费看| 亚洲成a人片77777老司机| 无码人妻一区二区三区免费n鬼沢| 亚洲AV成人片色在线观看高潮 | 性色av极品无码专区亚洲| 男女交性永久免费视频播放| 国产亚洲午夜精品| 亚洲午夜久久久久妓女影院| 日韩精品无码免费一区二区三区| 亚洲黄色网站视频| 浮力影院第一页小视频国产在线观看免费| 亚洲av无码成人精品国产| 亚洲精品成人久久久| 久久中文字幕免费视频| 精品亚洲AV无码一区二区三区| 国产高清免费在线| 中文字幕看片在线a免费| 亚洲美女一区二区三区| 成人免费视频软件网站| selaoban在线视频免费精品| 亚洲av最新在线网址| 成人人观看的免费毛片| 久99久无码精品视频免费播放| 亚洲视频在线观看地址| 又粗又黄又猛又爽大片免费| 小草在线看片免费人成视久网| 亚洲高清一区二区三区电影| 亚洲国产综合无码一区|