首頁 >web前端 >js教程 >什麼樣的正規表示式可以顯示highlight高亮

什麼樣的正規表示式可以顯示highlight高亮

php中世界最好的语言
php中世界最好的语言原創
2018-01-08 10:36:032132瀏覽

這次帶什麼樣的正規表示式可以顯示highlight高亮,怎麼用正規表示式可以顯示highlight高亮?正規表示式顯示highlight高亮的注意事項有哪些,以下就是實戰案例,一起來看一下。

程式設計師在編寫程式碼的時候少不了和字串以及「查詢」打交道,兩者的交集中有一個叫做正規表示式的東西,這傢伙用好了可以提高程式效率,用不好的話...你可以先去好好學一學。

  關於正規的使用,舉個簡單的例子:

var m = location.href.match(/(\w+:)\/{0,3}([^\/]+)(?:(\/[^\?#]*))?(?:(\?[^#]+|.+))?(?:(#.*))?/);
var res = {
    protocol: m[1],
    host: m[2],
    path: m[3],
    search: m[4],
    hash: m[5]
};
console.log(res);

憋了幾分鐘= =||,我也覺得這個正則不是特別好理解(紅黑相間了,應該稍微清楚),有些朋友可能不知道(?:content)是什麼意思,還有類似(?!content)和(?=content)分組和前瞻的知識,建議去問度哥和穀娘。


一. 正規應用小DEMO範例

下面是一串隨手寫的程式碼,放在textarea中:

/*** @author barret lee* @date   2013-10-06* @email  barret.china@gmail.com*/
//outer varvar a = "this id outer string";
//closurefunction b() { //inner var var a = "this is inner string"; var g = a.replace(/this is inner string/g, function() {  return new Function("/*clousure*/this.a")(); });
 /** * @description closure - regExp test * @author barret lee */ function c() {  return {   a: a,   g: g  } }
 return c;}
var s = b()(); //s.a, s.g

正則匹配,處理上面那堆字串的小DEMO:

/*** @author barret lee* @date 2013-10-06* @email barret.china@gmail.com*/
//outer varvar a = "this id outer string";
//closurefunction b() {    //inner var    var a = "this is inner string";    var g = a.replace(/this is inner string/g, function() {        return new Function("/*clousure*/this.a")();    });
    /**    * @description closure - regExp test    * @author barret lee    */    function c() {        return {            a: a,            g: g        }    }
    return c;}
var s = b()(); //s.a, s.g

類似很多的前端模板,artTemplate,baiduTemplate等都是對正規表示式的絕倫應用,很值得去看看源碼,好好鑽研人家都考慮了那些容易出錯的點,原始碼都不長,兩三百行。了解一個大概比較容易,但是當自己動手的時候總會發現很多細節問題處理不好,我那上面幾個正則就倒弄了半天= =

正則表達式,用起來還是挺方便的。正規技能,你值得擁有~

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

怎麼用jquery的ajax異步提交表單資料

怎麼實作springmvc接收jquery提交的陣列後續擷取資料

vue.js的語法及常用指令的詳解

以上是什麼樣的正規表示式可以顯示highlight高亮的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn