$1,$2表達的是小括號分組裡面的內容:$1是第乙個小括號裡的內容,$2是第二個小括號裡面的內容,依此類推。
比如(\\d)(\\d)(\\d) 匹配"20190919"
。$1是第乙個括號裡匹配的2019
,$2是第二個括號裡匹配的09
,$3是第三個括號裡匹配的19。
然後可以利用實現乙個簡單的時間格式化函式
//日期轉換:yyyymmdd -> yyyy-mm-dd,type=true時,yyyy-mm-dd -> yyyymmdd
dateformate (date, type) )(\d)(\d)$/, '
$1-$2-$3')
}},
"20112233"
.replace(/^(\d)(\d)(\d)$/,
"$1-$2-$3"
)
"20112233"
.replace(/(\d)(\d)(\d)/,
"$1-$2-$3"
)
str.replace(reg,function(){}) 應用的地方很多啊,最基本的就是比如 str 是一串數字,比如你要把這些數字替換成大寫的漢字
var ary=["一","
二","
三","
四","
五","六"
]"123456
".replace(/\d/g,function(i))
還有一種用法就是 不替換 字串,只是利用 replace 可以匹配幾次,這個 function 就執行幾次的特性來做一些事情,比如格式化時間字串等等。
$1--$9 是regexp 自帶的,只要放生了匹配就會有。 test exec str的replace 都會有。代表的是 分組,即小括號裡面的小正則 捕獲到的內容。
/^(\d)[\/-](\d)[\/-](\d)$/,比如這個 簡單的匹配 年月日的正則,我們就可以通過 $1 $2 $3 獲取到並進行處理。
var reg=new regexp("(","gmi");
var url="
";var rep=url.replace(reg,"
$1showbook.aspx?bookid=$2&chapterid=$3");
你可能注意到了,在reg正規表示式裡的幾對"()
",比如`("
( ,`(\\d+)`,
$n就指的是匹配到的第n個括號裡的內容,
$n主要是用在後面的程式需要引用前面的正則匹配到的內容時。
在這個例子裡:
你看到上面的replace實際上是用冒號後面的內容替換冒號前面的「$n」,而冒號後面的內容實際上就是正則裡的「()」分組正規表示式在url裡匹配到的內容
正規表示式實際應用
一 普通字元匹配 下面是一些在網頁程式設計中經常會遇到的字元匹配模式。l 匹配中文字元的正規表示式 u4e00 u9fa5 2 匹配雙位元組字元 包括漢字在內 x00 xff 3 匹配空行的正規表示式 n s r 4 匹配html標記的正規表示式 5 匹配首尾空格的正規表示式 s s 6 計算字串的...
12 正規表示式
正規表示式 是乙個非常強大而實用的工具,可以用乙個模式串匹配一系列符合規則的字串。現在就請大家實現乙個正規表示式的匹配工具。雖然正規表示式的規則很複雜,但其中的核心規則,只要實現就可以處理大多數的問題 c 匹配任意字母c 匹配任意的單個字元 匹配輸入字串的開頭 匹配輸入字串的結尾 匹配前乙個字元的零...
正規表示式應用
d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d 非正浮點數 負浮點數 0 0 9 0 ...