正則表達(dá)式中重要的方法,平時容易忘記凤壁,做了次小小的整理
正則方法
- match
- replace
- search
- split
(?=p)正向先行斷言熄阻,要求接下來的字符串都與p匹配
(?!p) 負(fù)向先行斷言,要求接下來的字符串都與p不匹配
var text = "JavaScript"
var pattern = /script/i
正則表達(dá)式使用圓括號括起來的子表達(dá)式帶有從左到右的索引編號钻蔑,且會記憶每個子表達(dá)式的文本啥刻,通常用" $"+數(shù)字表示記憶的部分
- text.search(pattern)
返回第一個與之匹配子串的起始位置,如果找不到咪笑,則返回-1 - text.replace(pattern, newText)
替換匹配的部分, 第二個參數(shù)可以是原字符串中記憶部分可帽,也可以是函數(shù)
// 將單詞的所有首字母大寫
text.replace(/\b\w+\b/g, function(word) {
return word.substring(0,1).toUpperCase() + word.substring(1)
})
- text.match(pattern)
匹配表達(dá)式,若不開啟全局檢索窗怒,則只匹配一次映跟,若匹配不成功則返回null, 若匹配成功蓄拣,則返回包含這次匹配的數(shù)組,數(shù)組第一項是匹配的字符串努隙,之后幾項依次是匹配圓括號的部分
若開啟全局檢索球恤,也會返回一個數(shù)組,數(shù)組元素是每一個匹配的字符串荸镊,不會包含圓括號字符串碎捺。
var url = /(\w+):\/\/([\w.]+)\/(\S*)/
var text = "Visit my home page at http://www.isp.com/~david"
var result = text.match(url)
if(result !== null){
var fullurl = result[0]
var protocol = result[1]
var host = result[2]
var path = result[3]
}
- text.split(pattern)
將字符串用給定匹配分割成數(shù)組
"1,2,3,4,5".split(/\s*,*\s/) // ["1", "2","3","4","5"]
- pattern.text(text)
測試是否與正則匹配,返回布爾值
字符串的書寫方式
傳入字符串的正則表達(dá)式贷洲,用“"字符作為轉(zhuǎn)義字符的前綴
var pattern = new RegExp("\d{5}", "g")