欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

正則表達式不區(qū)分大小寫以及解決思路的探索 .

 更新時間:2014年06月14日 13:48:36   投稿:mdxy-dxy  
今天在寫一個正則表達式的時候,因為字符有大小寫的問題,多種大小寫的組合,這時想到了用正則表達式

今天遇見一個消除js正則表達式不區(qū)分大小寫的問題,網(wǎng)上一搜,發(fā)現(xiàn)自己果然是菜鳥。

在js里面//g,其中g(shù)表示全局匹配,如果沒有這個,那么就意味著只能匹配一次就會自動結(jié)束;/i/就表示在匹配的過程中不區(qū)分大小寫。呵呵。。這個在參數(shù)過濾的過程中就很有用了。

復(fù)制代碼 代碼如下:

dxycode=dxycode.replace(/<br\s*\/?>/gi,'\n')

都說到這個份上了,自然情不自禁的看了一下.NET中的正則表達式不區(qū)分大小寫的情況。在.NET中,RegexOption枚舉可以使用影響匹配行為的選項修改正則表達式模式。比如其中的IngoreCase就是匹配過程中忽略大小寫的限定。附上代碼如下:

Regex.Match (String, String, RegexOptions);

Regex.Replace (String, String, String, RegexOptions)

正則表達式其實是一個很有趣的事情,但是不因正而正則。下面描述一下我今天碰到的問題。

大家可能都會遇到這樣的問題,在進行ajax的傳輸后,利用javascript綁定數(shù)據(jù)的時候,經(jīng)常因為注入惡意腳本、html標簽未關(guān)閉等問題導(dǎo)致頁面錯版和被別人腳本惡意注入。這個時候的我們想到的第一個解決辦法是:將所有標簽全部轉(zhuǎn)換成實體。這樣頁面既不會被惡意腳本注入,又不會出現(xiàn)錯版情況。 很好,這是一種解決途徑,畢竟菜鳥開始想問題了。但是這樣會誤殺一篇有用的html標簽,比如img,a等等。因此,第一種想法被否定了。

然后菜鳥開始尋找第二種途徑。先將問題分解,讓我們先解決惡意腳本注入的問題。這個好辦,把其中一部分惡意的腳本過濾掉。好啊,這個簡單,這個時候就用到了我上面說的正則表達式了。一路走下去,惡意腳本注入得到解決。這里先不指出菜鳥這樣做的缺點。先看下一個問題。那么怎樣防止頁面錯版的問題呢。哎呀。。。這個菜鳥可是想破了腦袋,最后的結(jié)論是用正則表達式吧為關(guān)閉標簽給照出來,要么修補未關(guān)閉標簽,要不直接刪除未關(guān)閉標簽。

再來評論菜鳥的第二種解決途徑和第三種方法。這樣做有一個共同的確定。就是你手動改變了用戶的內(nèi)容,不經(jīng)意的用戶還會以為你系統(tǒng)有問題,因為缺少很好的用戶體驗。第二,正則表達式始終是要費能的一個東東,需要不停的比對。雖然給系統(tǒng)的影響可能不是很大,但是能節(jié)約性能為什么不節(jié)約呢?

最終菜鳥找到了一個很好的方法,對于文本框的輸入,采用第一種方法,吧用戶的輸入內(nèi)容直接轉(zhuǎn)換為實體。當然如果用戶有輸入圖片和超鏈接的需要,我們也不能不滿足。如何滿足?解決途徑如下:自定義標簽,然后再顯示的時候自定義標簽轉(zhuǎn)換。此時菜鳥才恍然大悟。

其實菜鳥也在不斷的進步的,這個問題的解決體驗了一個思想就是:特殊問題特殊處理的思想。有些東西是不能被大眾化的,那么我們就對其特殊處理吧!

最后,恭喜菜鳥走出了“因正則而正則”的誤區(qū)。同時附上正則表達式大全:

http://www.dbjr.com.cn/tools/zhengze.html

相關(guān)文章

  • ubb代碼轉(zhuǎn)換為html

    ubb代碼轉(zhuǎn)換為html

    ubb代碼轉(zhuǎn)換為html...
    2006-06-06
  • 使用正則表達式替換表情符號核心代碼

    使用正則表達式替換表情符號核心代碼

    正則表達式替換表情符號核心代碼,大家可以參考下。
    2009-09-09
  • 經(jīng)典Javascript正則表達式[優(yōu)質(zhì)排版]

    經(jīng)典Javascript正則表達式[優(yōu)質(zhì)排版]

    正則表達式用于字符串處理,表單驗證等場合,實用高效,但用到時總是不太把握,以致往往要上網(wǎng)查一番。我將一些常用的表達式收藏在這里,作備忘之用
    2013-01-01
  • 正則基礎(chǔ)之 小數(shù)點

    正則基礎(chǔ)之 小數(shù)點

    小數(shù)點可以匹配除了換行符“\n”以外的任意一個字符,如要匹配小數(shù)點本身,用“\”進行轉(zhuǎn)義“\.”。
    2009-07-07
  • 學習正則!超基礎(chǔ)簡單例子

    學習正則!超基礎(chǔ)簡單例子

    我一直都覺得正則表達式只要在要用的時候翻一下百度就Ok了,然后今天寫php的時候發(fā)現(xiàn),原來我正則完全一點都不懂
    2012-09-09
  • asp.net 正則表達式[經(jīng)常用的到]

    asp.net 正則表達式[經(jīng)常用的到]

    經(jīng)常用的到的一些正則表達式,正則規(guī)則是這樣寫的,大家可以根據(jù)自己的需要,用各種語言調(diào)用即可
    2008-11-11
  • 正則表達式中的反向預(yù)搜索(上)

    正則表達式中的反向預(yù)搜索(上)

    這幾天在用正則表達式做一個小程序,需要替換內(nèi)容中的某些特殊字符串。這些字符串的出現(xiàn)是有規(guī)律的,那就是在它左面總會特定的內(nèi)容出現(xiàn),右面卻沒有。于是自然就想到了反向預(yù)搜索。
    2009-12-12
  • 正則表達式匹配閉合HTML標簽(支持嵌套)

    正則表達式匹配閉合HTML標簽(支持嵌套)

    先確定我們要解決的問題——從一段Html文本中找出特定id的標簽的innerHTML,需要的朋友可以參考下
    2020-02-02
  • js正則表達式之RegExp對象之compile方法  編譯正則表達式

    js正則表達式之RegExp對象之compile方法 編譯正則表達式

    該方法可以編譯指定的正則表達式,編譯之后的正則表達式執(zhí)行速度將會提高,如果正則表達式多次被調(diào)用,那么調(diào)用compile方法可以有效的提高代碼的執(zhí)行速度,如果該正則表達式只能被使用一次,則不會有明顯的效果
    2012-10-10
  • 一看就懂的正則表達式教程

    一看就懂的正則表達式教程

    正則表達式,是簡單地字符的序列,可指定特定的搜索模式,下面這篇文章主要給大家介紹了一看就懂正則表達式的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05

最新評論