正規表現の使用(ルールに合致するかどうかを判断し、ルールデータを抽出する)

7813 ワード

一.正規表現規則
アイコン
説明
()
サブエクスプレッションの開始位置と終了位置をマークします.(、)、前にエスケープ文字を付けます.
[]
中括弧式の開始と終了をマークし、[,]に一致するように、前にエスケープ文字を付けます.
[文字セット]
単一文字の照合
{n}
nは非負の整数である.マッチング決定のn回
{n,m}
mおよびnはいずれも非負の整数であり、ここでn<=mである.最小n回、最大m回マッチ
+
前のサブエクスプレッションを1回または複数回一致させる
*
前のサブエクスプレッションを0回または複数回一致させる
?
前のサブエクスプレッションを0回または1回一致させるか、欲張りでない制限子を指定します.
\
次の文字を特殊文字、またはオリジナル文字、または後方参照、または8進数エスケープとしてマークします.
^
入力文字列の開始位置に一致
$
入力文字列の終了位置を一致させる
|
2つの項目のいずれかを指定します.
1.1正規表現修飾子
修飾子
説明
i
大文字と小文字の不感度な一致の実行
g
グローバル照合の実行(最初の照合が見つかった後に停止するのではなく、すべての照合を検索)
m
複数行照合の実行
1.2例
ルール#ルール#
説明
[a-z]
a-zの1文字に一致
^ [0-9]ac{2}$
0~9の数字の先頭とaccの末尾に一致する文字
[0-9]*
0~9の0または複数の数値に一致
[0-9]+
0~9の1つまたは複数の数値に一致
^ [1-9]
1~9の数字の先頭に一致する
abc$
マッチングabcで終わる
do(a)?
マッチングにdoまたはdoaが含まれているかどうか
//   :     0-9       ,abc  ,        。
let rule = /^[0-9]abc$/
let n1 = '123abc'
let n2 = '1abc'
let n3 = 'abc'
console.log(n1.match(rule)) // null
console.log(n2.match(rule)) // ["1abc", index: 0, input: "1abc", groups: undefined]
console.log(n3.match(rule)) // null

二.正規表現の方法

  • test():パターンに一致する文字列を検出し、一致するテキストが文字列に含まれている場合はtrueを返します.そうでない場合はfalse
  • を返します.
  • exec():この関数は、一致する結果を格納する配列を返します.一致が見つからない場合はnullを返します.

  • 三.文字列のメソッドパラメータは正規表現です

  • search(x):xは文字列または正規表現を表し、条件を満たして最初に現れた下付き文字を返し、戻り-1が見つからない.
  • replace(x,str):xは文字列または正規表現を表し、strは文字列に置き換えられ、置き換え後の新しい文字列を返します.
  • match(x):xは文字列または正規表現を表し、条件を満たして配列を返し、nullを返すことが見つからない.

  • 四.特定の文字が含まれているかどうかを判断


    例:文字列に[]【】文字が含まれているか否かを判断する
    let regular1 = /\[|\]|\【|\】/
    let str1 = 'ass[22'
    let str2 = 'ass【】1'
    let str3 = ']ass2'
    let str4 = '233ass'
    let status1 = regular1.test(str1) // true
    let status2 = regular1.test(str2) // true
    let status3 = regular1.test(str3) // true
    let status4 = regular1.test(str4) // false
    

    五.一定のルールを満たすデータの抽出


    例:文字列内のルールを満たすデータの取得
    let regular1 = /[0-9]+/
    let regular2 = /[0-9]+/g
    let regular3 = /[A-Z]+/gi
    let str1 = '234a1'
    let status1 = regular1.exec(str1)
    console.log(status1) // ["234", index: 0, input: "234a1", groups: undefined]
    let status2 = str1.match(regular1)
    console.log(status2) // ["234", index: 0, input: "234a1", groups: undefined]
    let status3 = str1.match(regular2)
    console.log(status3) // ["234", "1"]
    let status4 = str1.match(regular3)
    console.log(status4) // ["a"]