ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の 6 つの正規表現 (詳細なチュートリアル)

JavaScript の 6 つの正規表現 (詳細なチュートリアル)

亚连
亚连オリジナル
2018-06-05 15:36:531942ブラウズ

この記事では、JavaScript を一度に覚えるための 6 つの正規表現方法を主に紹介します。これは非常に優れており、必要な友人は参照できます

まず、具体的な数字 6 は、全体を覚えるのに役立ちます。 。

スコープ

正規表現を機能させることができるjsには2つのクラスがあります

作成

var re = /ab+c/

方法1: 正規表現リテラル、この種の直接定数表現を使用できますJS パーサーのパフォーマンスを向上させましょう

var re = new RegExp('ab+c')

方法 2: コンストラクター、このメソッドは実行時に正規表現が何であるかを動的に決定でき、より柔軟です

よく使用される特殊文字

を使用して、よく使用される特殊文字をいくつか覚えてくださいキャラクター、これは規則性そのものの範疇ですが、いつも思い出せないと感じていませんか?実際、いくつかのタスクを完了するために常にオンラインで検索して確認していることを覚えていません。実際、私も悩んだことがありますが、結局はあまり書かず、自分が何をしているのかしか知らなかったことが原因でした。 。 。次の概要には特定の内容は含まれていませんが、特定の特殊文字とカテゴリのみがリストされています。表を見るよりもその意味を理解するのに役立つと思います。 。 。

  • 一致する量: * + ? {n} {n,} {n,m} .

  • 一致する位置: ^ $

  • 一致し、グループ化をサポートする必要がある場合は、括弧で囲む必要があります。 (マッチングパターン)

  • マッチング条件: |

  • マッチングセット: []

  • マッチング非セット: [^]

と文字で構成される特殊なパターンも多数あります一致するパターンの意味は使用時に問い合わせることができますが、実際には覚えていません。 。 。

例は最良の教師です。 。 。 。 この例は MDN からのものです

一致した配列を取得したいです

var myRe = /d(b+)d/g; 
myRe.exec('cdbbdbsdbdbz') // ["dbbd", "bb", index: 1, input: "cdbbdbsdbdbz"] 
myRe.exec('cdbbdbsdbdbz') // ["dbd", "b", index: 7, input: "cdbbdbsdbdbz"] 
myRe.exec('cdbbdbsdbdbz') // null

各通常のオブジェクトに対する exec の呼び出しごとに、一致するものを 1 つだけ返すことに注意してください。すべての一致を取得する必要がある場合は、while ループでそれらを取得する必要があります。ループの終了フラグが戻り値になります。null

'cdbbdbsdbdbz'.match(/d(b+)d/g) // ["dbbd", "dbd"] 
'cdbbdbsdbdbz'.match(/d(b+)d/) // ["dbbd", "bb", index: 1, input: "cdbbdbsdbdbz"]

文字列の一致は、グローバル一致の場合は、一致したすべての配列が出力されます。対応するキャプチャされたコンテンツ

var str = 'hello world!'; 
var result = /^hello/.test(str); // true 
'cdbbdbsdbdbz'.search(/d(b+)d/) // 1 
'xxx'.search(/d(b+)d/) // -1 没有匹配 
var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand '; 
var re = /\s*;\s*/; 
var nameList = names.split(re); 
// [ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand " ]
var re = /apples/gi; 
var str = 'Apples are round, and apples are juicy.'; 
var newstr = str.replace(re, 'oranges'); 
// // oranges are round, and oranges are juicy.

一致するかどうか知りたい

var str = 'hello world!'; 
var result = /^hello/.test(str); // true

最初に一致した位置を取得したいだけです

'cdbbdbsdbdbz'.search(/d(b+)d/) // 1 
'xxx'.search(/d(b+)d/) // -1 没有匹配

一致に応じて文字列を分割したい

var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand '; 
var re = /\s*;\s*/; 
var nameList = names.split(re); 
// [ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand " ]

一致に応じて文字列を上書きします

var re = /apples/gi; 
var str = 'Apples are round, and apples are juicy.'; 
var newstr = str.replace(re, 'oranges'); 
// // oranges are round, and oranges are juicy.

この置換メソッドには多くの用途があるため、最も基本的な使用法については、必要なときに確認するだけです。一般的なアイデアを理解してから練習する方が良いです。強制的に覚えてください~

以上は皆さんのためにまとめたもので、将来皆さんに役立つことを願っています。

関連記事:

vueで淘宝網のような星評価を達成する方法

vueでjqgridコンポーネントのURLアドレスを動的に変更できない問題を解決する方法

カスタムドロップを実装する方法React で Native を使用して -down ロードされたリストを更新します

以上がJavaScript の 6 つの正規表現 (詳細なチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。