正規表現 - 一般的な4つの通常の方法

まず、正規表現

1、一致()メソッド

コール

let str = "梦的翅膀受伤了!"
let res = str.match('翅膀')

一致()メソッドは、チェック方法は、アレイ/ストリングに幾分類似して、文字列で指定された値を取得indexOf()し、lastIndexOf()方法が、これらの2つの方法は、指定された値の最初の出現によって返されたインデックスの指数であり、match()両者を返します結果の種類:

1.通常指定された文字を確認し、知らない配列、または文字データオブジェクトのリターンは、あなたがインデックス0で返された指定されたチェックキャラクタを得ることができますが、可能である.key指定されたチェックキャラクタの最初の発生を取得する方法インデックスindexと、元の文字列データチェック源

let str = "梦的翅膀受伤了!"
let res = str.match('翅膀')
console.log(res)

// 打印结果
["翅膀", index: 2, input: "梦的翅膀受伤了!", groups: undefined]

// 匹配结果获取
console.log(res[0])  // 翅膀

// 获取index
console.log(res[1]) // 报错
console.log(res.index)  // 2

// 获取匹配数据来源
console.log(res.input)  // 梦的翅膀受伤了!

ヒント

唯一あなたが要素を探している最初の時間を見つけて返すために、通過する文字列を検索して下さい

2.あなたがチェックで規則的であれば何の場合、g修飾子は、その文字列の検索との大きな違いはありませんあなたが使用している場合、g修飾子を、コレクションの戻り値は、すべての指定した文字列の配列が表示された価値がある、とは限りません再びindex及びinputその他の属性、それは純粋に試合立派な配列の収集の結果であります

let str = "梦的翅膀受伤了!飞翔的翅膀"
let res = str.match(/翅膀/g)
console.log(res)

// 打印结果
["翅膀", "翅膀"]

ヒントこの方法では、一致が返されない場合は、検証すべき文字の配列を持つ文字のコレクションを返します。null

2、replace()メソッド

この文字列が指定され、一致した文字列を検索し、置き換えるために指定された文字列内の文字列を一致させるために使用されます

最初のパラメータが正規表現、または文字列とすることができる2つのパラメータを有し、この方法は、第二の機能は、マッチングパラメータは、交換用のデータである後のテキストを置換する、または生成します

let str = "梦的翅膀受伤了!飞翔的翅膀"
let res = str.replace('翅膀', '鸟儿')
console.log(res)

// 打印结果
梦的鸟儿受伤了!飞翔的翅膀

定期的な

一定の時間を使用して、追加してくださいg修飾子を、それ以外の場合は、最初に置き換えられます

let str = "梦的翅膀受伤了!飞翔的翅膀"
let res = str.replace(/翅膀/, '鸟儿')
console.log(res)

// 打印结果
梦的鸟儿受伤了!飞翔的翅膀

let str = "梦的翅膀受伤了!飞翔的翅膀"
let res = str.replace(/翅膀/g, '鸟儿')
console.log(res)

// 打印结果
梦的鸟儿受伤了!飞翔的鸟儿

関数のパラメータのための二つの

パラメータは2の機能ではなく文字列である場合には、この場合には、関数は、文字列を置換テキストとして使用されます返し、各試合のために呼び出されます。最初のパラメータは、パターン文字列マッチングの関数です。次のパラメータは、パラメータのゼロまたはそれ以上が存在してもよい、部分式と一致する文字列パターンです。次の引数が整数である、位置文は試合stringObjectに表示されます。最後のパラメータはstringObjectそのものです

公式サイトは、4つのパラメータがあることを意味し、最初のパラメータは、文字列マッチングであり、第二のサブ文字列と一致する正規表現であり、文字列のインデックス、および第四の第三の一致は、元の文字列であります

let str = "梦的翅膀受伤了!飞翔的翅膀"
let res = str.replace(/翅膀/, function (current, index, input, strs) {
  console.log(current+ '-' +nextStr+ '-' +index+ '-' +strs)
  return '鸟儿'
})
console.log(res)

// 打印结果
翅膀-2-梦的翅膀受伤了!飞翔的翅膀-undefined
梦的鸟儿受伤了!飞翔的翅膀

let hml = '<div><img src="http://www.baidu.com/images/1.png" /></div>'
let res = hml.replace(/<img[^>]* src\s*?=\s*?['"]([^'"]+)[^>]*>/gi, function (current, nextStr, index, strs) {
  console.log(current+ '-' +nextStr+ '-' +index+ '-' +strs)
  return '鸟儿'
})
console.log(res)

// 打印结果
<img src="http://www.baidu.com/images/1.png" />-http://www.baidu.com/images/1.png-5-<div><img src="http://www.baidu.com/images/1.png" /></div>
<div>鸟儿</div>

3、EXEC()メソッド

入ってくる文字列が指定され、一致しない場合、マッチングの結果のために、配列を返すリターンを一致検証するために使用null

配列要素のゼロ番目の項目は、通常の値に一致する戻り、最初の要素は正規表現は、最初の子の式の値と一致している、第2の要素は、本明細書に示される値と一致する2番目の正規表現でありますように、だけでなく、追加のリターン・インデックスと入力属性

let str = 'abcdefgabcdefg'
let reg = /b/
let res = reg.exec(str)
console.log(res)

// 打印结果
['b', index: 1, input: "abcdefgabcdefg"]

マッチがグローバルである場合、あなたは、繰り返しループを呼び出すことができますexec方法を

let str = 'abcdefgabcdefg'
let reg = /b/g
let newRes
while ((newRes = reg.exec(str)) !== null) {
  console.log(newRes)
}

// 打印结果
["b", index: 1, input: "abcdefgabcdefg", groups: undefined]
["b", index: 8, input: "abcdefgabcdefg", groups: undefined]

4、試験()メソッド

一致するものが返された場合、指定した文字列の内容が一致するかどうかを検出するために、trueリターンと一致していませんfalse

let str = 'abcdefgabcdefg'
let reg = /b/g
let bl = reg.test(str)
console.log(bl)

// 打印结果
true

おすすめ

転載: www.cnblogs.com/zjh-study/p/10960747.html