java使用正則表達式匹配不包含某個規(guī)則的字符串

測試數(shù)據(jù):

例如上面這幾條簡單的日志條目偎行,我們想實現(xiàn)兩個目標(biāo):

1、把8號的數(shù)據(jù)過濾掉渗常;

2汗盘、把那些不包含robots.txt字符串的條目給找出來(只要Url中包含robots.txt的都給過濾掉)。

前瞻的語法是:

(?!匹配模式)

我們先來實現(xiàn)第一個目標(biāo)——匹配不以特定字符串開頭的條目隐孽。

這里我們因為要排除一段連續(xù)的字符串健蕊,因此匹配模式非常簡單缩功,就是2009-07-08都办。實現(xiàn)如下:

^(?!2009-07-08).*?$

用Expresso我們可以看到結(jié)果確實過濾掉8號的數(shù)據(jù)。

接下來势木,我們來實現(xiàn)第二個目標(biāo)——排除包含特定字符串的條目歌懒。

按照我們上面寫法,我照葫蘆畫瓢了一下:

^.*?(?!robots\.txt).*?$

這段正則用大白話描述就是:開頭任意字符甫男,然后后面不要跟著robots.txt連續(xù)字符串,然后再跟著任意個字符板驳,字符串結(jié)尾噪窘。

運行測試,結(jié)果發(fā)現(xiàn):

沒有達到我們想要的效果直砂。這是為什么呢静暂?我們給上面的正則表達式加上兩個捕獲分組調(diào)試一下:

^(.*?)(?!robots\.txt)(.*?)$

測試結(jié)果:

我們看到谱秽,第一個分組啥都沒有匹配到,而第二個分組卻匹配了整個字符串郊供。再回過頭來好好分析一下剛才那個正則表達式近哟。

實際上,當(dāng)正則引擎解析到A區(qū) 域的時候,就已經(jīng)開始執(zhí)行B區(qū)域的前瞻工作地来。這個時候發(fā)現(xiàn)當(dāng)A區(qū)域為Null的時候匹配成功——.*本來就允許匹配空字符熙掺,前瞻條件又滿足,A區(qū)域后面緊 跟著的是“2009”字符串蜡秽,而并不是robots类浪。因此整個匹配過程成功匹配到所有條目。

分析出原因之后我們對上述的正則進行修正,將.*?移入前瞻表達式川队,如下:

^(?!.*?robots).*$

測試結(jié)果:

更多java技術(shù)文章,請訪問PHP中文網(wǎng)的java學(xué)習(xí)教程欄目眠蚂!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末斗躏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子笛臣,更是在濱河造成了極大的恐慌隧饼,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诞丽,死亡現(xiàn)場離奇詭異拐格,居然都是意外死亡,警方通過查閱死者的電腦和手機捏浊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谒所,“玉大人,你說我怎么就攤上這事劣领√模” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵村生,是天一觀的道長饼丘。 經(jīng)常有香客問我,道長卫病,這世上最難降的妖魔是什么典徘? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮帜平,結(jié)果婚禮上梅鹦,老公的妹妹穿的比我還像新娘。我一直安慰自己帘瞭,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布抛腕。 她就那樣靜靜地躺著媒殉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪全封。 梳的紋絲不亂的頭發(fā)上马昙,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天行楞,我揣著相機與錄音土匀,去河邊找鬼。 笑死证杭,一個胖子當(dāng)著我的面吹牛妒御,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乎莉,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惋啃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肥橙?” 一聲冷哼從身側(cè)響起存筏,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤味榛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后善茎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡垂涯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年耕赘,在試婚紗的時候發(fā)現(xiàn)自己被綠了膳殷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡册招,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出虑鼎,到底是詐尸還是另有隱情,我是刑警寧澤震叙,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布散休,位于F島的核電站,受9級特大地震影響划址,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夺颤,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一胁勺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寥裂,春花似錦、人聲如沸封恰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽备畦。三九已至,卻和暖如春逸嘀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背崭倘。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留司光,地道東北人。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓榆俺,卻偏偏與公主長得像坞淮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子回窘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容