先端の正規表現に関する方法
2391 ワード
str.match(regexp)
方法str.search(regexp)は、最初の一致項の位置を返します.見つからない場合は、-1を返します.
方法str.replaceは検索と置換操作を実行するために用いられる.正規表現で修飾子gが設定されている場合、ソース文字列の中のモードにマッチするすべてのサブストリングは、2番目のパラメータで指定された文字列に置き換えられます.修飾子gを持たない場合は、最初の部分列だけを置換します.
正規表現(またはサブ文字列)を区切り文字として文字列を分割します.
文字列strにマッチするregexpの文字を見つけました.3つのモードがあります.(1)regexpにgマークが付いていない場合、最初のマッチ項目は配列として返されます.パケットと属性index(マッチング項目の位置)、input(入力文字列はstrに等しくなります.)
RegExpオブジェクトは、モードマッチングを実行するための2つの方法を定義しています.
regexp.test(str)
そのパラメータは文字列です.正規表現の一致結果を含めると、trueを返します.
前に紹介したStering.match()法と似ています.パラメータは文字列です.正規表現によってフラグgが付いているかどうかで、その挙動が異なります.gがない場合、regexp.exec(str)が戻ってくる最初のマッチングは、str.match(regexp)と全く同じです.マークgがある場合、regexp.exec(str)を呼び出して最初のマッチ項目を返し、その後の位置を属性regexp.lastIndexに保存します.次の同じ呼び出しは、位置regexp.lastIndexから検索を開始し、次のマッチを返し、その後の位置をregexp.lastIndexに保存します.この特殊な挙動は正規表現で文字列にマッチする過程でexec()を繰り返し呼び出すことを可能にする.
方法str.search(regexp)は、最初の一致項の位置を返します.見つからない場合は、-1を返します.
var result = 'javascript'.search(/script/)
console.log(result) // 4
str.replace(str regexp,str func)方法str.replaceは検索と置換操作を実行するために用いられる.正規表現で修飾子gが設定されている場合、ソース文字列の中のモードにマッチするすべてのサブストリングは、2番目のパラメータで指定された文字列に置き換えられます.修飾子gを持たない場合は、最初の部分列だけを置換します.
console.log('12-34-56'.replace(/-/, ':')) // 12:34-56
console.log('12-34-56'.replace(/-/g, ':')) // 12:34:56
str.split(regexp 124スト、limit)正規表現(またはサブ文字列)を区切り文字として文字列を分割します.
console.log('12-34-56'.split(/-/)) // ["12", "34", "56"]
str.match(regexp)文字列strにマッチするregexpの文字を見つけました.3つのモードがあります.(1)regexpにgマークが付いていない場合、最初のマッチ項目は配列として返されます.パケットと属性index(マッチング項目の位置)、input(入力文字列はstrに等しくなります.)
let str = 'I love JavaScript'
let result = str.match(/Java(Script)/)
console.log(result) // ["JavaScript", "Script", index: 7, input: "I love JavaScript", groups: undefined]
(2)レゲックスpにgマークが付いている場合は、グループやその他の詳細情報を含まずに、すべてのマッチ項目の配列を文字列として返します.let str = 'I love JavaScript'
let result = str.match(/Java(Script)/g)
console.log(result) // ["JavaScript"]
(3)一致する項目がない場合は、マークgがあるかどうかにかかわらず、nullに戻ります.RegExpオブジェクトは、モードマッチングを実行するための2つの方法を定義しています.
regexp.test(str)
そのパラメータは文字列です.正規表現の一致結果を含めると、trueを返します.
let str = 'I love JavaScript'
console.log(/love/i.test(str)) // true
regexp.exec(str)前に紹介したStering.match()法と似ています.パラメータは文字列です.正規表現によってフラグgが付いているかどうかで、その挙動が異なります.gがない場合、regexp.exec(str)が戻ってくる最初のマッチングは、str.match(regexp)と全く同じです.マークgがある場合、regexp.exec(str)を呼び出して最初のマッチ項目を返し、その後の位置を属性regexp.lastIndexに保存します.次の同じ呼び出しは、位置regexp.lastIndexから検索を開始し、次のマッチを返し、その後の位置をregexp.lastIndexに保存します.この特殊な挙動は正規表現で文字列にマッチする過程でexec()を繰り返し呼び出すことを可能にする.
var pattern = /Java/g
var text = 'JavaScript is more fun than Java!'
var result;
while((result = pattern.exec(text)) != null){
console.log("Matched'"+ result[0] + "'"+ " at position " + result.index + "; next search begins at " + pattern.lastIndex)
}
// Matched'Java' at position 0; next search begins at 4
// Matched'Java' at position 28; next search begins at 32