正規表現


文字列での作業は、単純ではないが、問題が発生するまで、本当に簡単に見えるものの一つです.正規表現は、あなたのクエリでより具体的にすることができる文字列メソッドと一緒に使用できる別のツールです!正規表現を使う方法を学びましょう!

正規表現
正規表現は、また、正規表現や正規表現として知られている、単に文字の異なる、特定の組み合わせに一致するために使用できるパターンです.これらのパターンを使用して文字列の検査と処理を行うことができます.たとえば、/cat/の正規表現は、文字列内の“cat”の正確なシーケンスに相当します.私は、あなたが何を考えているかについてわかっています.「どうして役に立つの?なぜ文字列を使うのか?」我々はそこに着くよ!最初に正規表現を作る方法について少し話しましょう.正規表現は、正規表現リテラル(//)を使用して作成したり、新しいキーワードを使用して正規表現コンストラクター関数を呼び出すオブジェクトです.正規表現の作成と割り当ては次のようになります.
let rat;
rat = /rat/;
rat = new RegExp("rat");
上記の例はどちらも同じ正規表現を作成する等価の方法です.それで、我々は若干の正規表現を作りました.どうすればいいですか.正規表現には独自のメソッドがあり、特定の文字列メソッドでも使用できます.例えば、.Testは正規表現で利用できるメソッドです.正規表現が文字列内で見つかったかどうかをbooleanで返します.
let rat = /rat/;
rat.test('I saw a rat!');  // returns true
/rat/.test('I saw a rat!');  // returns true
上記の両方のパターン.テストは等価です.つまり、正規表現に割り当てられた変数を使用して呼び出すことができます.これは正規表現の使用には当てはまります.正規表現のマッチは、改行、大文字、および空白を含む、正確でなければならないことに注意してください.例えば、
/rat/.test('I saw some rats!');  // returns true
/rat/.test('Meet at the bar at 9');  // returns false
/rat/.test('Rats and cats are not friends');  // returns false
しかし、それはなぜあなたが正規表現を使用する理由を説明していません.既存の文字列メソッドと正規の文字列と同じことができます.それは特別な文字が来るところです!

特殊文字
特殊文字は正規表現の文字の組み合わせを変更または指定する文字です.これらは、正規表現は、彼らの超能力を得る場所です!最も便利な特殊文字の一つはブラケットです.ブラケットは、あなたのターゲット文字列の文字の任意の数にすることができますを示すことができます!アクションで見る
const bt = /b[aeiou]t/;
bt.test('bat');  // returns true
bt.test('bet');  // returns true
bt.test('bit');  // returns true
bt.test('bot');  // returns true
bt.test('but');  // returns true
bt.test('bpt');  // returns false
検索したい文字列の単一の文字に対応する括弧内のすべてを考えてください.この便利な能力の上に、我々は文字を使用して特定の範囲の文字を指定することができます!
const nums = /[0-5]/;
nums.test('0');  //  returns true
nums.test('3');  //  returns true
nums.test('7');  //  returns false
このメソッドは、文字のUnicode番号を使用しますので、小文字と大文字の間に小さなギャップがあるため、このアプローチをアルファベット文字で使用するときには注意してください.すべての文字を指定するには、次のようにします.
const letters = /[A-Za-z]/;
letters.test('M');  // returns true
letters.test('y');  // returns true
letters.test('5');  // returns false
心に留めておくもう一つの特殊文字は'+'文字です.これは、特定の要素を任意の回数繰り返すことができることを示している.アクションで見る
const bomb = /boo+m/;  
bomb.test('boom!');  // returns true
bomb.test('Boom!');  // returns false
bomb.test('boooooooooooom!');  // returns true
では、上記のコードをオプションで結合します.オプションは、正規表現に従って、さらに検索パターンを微調整することができます.最後の正規表現リテラルの後、私は「i」を投げます.
const bomb = /boo+m/i;  
bomb.test('boom!');  // returns true
bomb.test('Boom!');  // returns true
bomb.test('boooooooooooom!');  // returns true
bomb.test('BOOOOOOOOOOOOM!');  // returns true
「?」文字はまた、有用な特殊文字です.この文字は前の文字が含まれるか、含まれないかもしれないことを示します.
const color = /colou?r/; 
color.test('color');  // returns true
color.test('colour');  // returns true
私が話したい最後の特殊文字は文字.これはワイルドカード文字です.」は改行を除く他の文字を意味する.
const anything = /./; 
anything.test('a');  // returns true
anything.test('1');  // returns true
anything.test('[');  // returns true

ショートカット
同様に"[-]の組み合わせを使用することができますいくつかのビルドのショートカットもあります.“\d”ショートカットは、任意の桁を示すために使用することができます.同様に、"\d "ショートカットは数字ではない文字を指します.
const digit = /\d/;  
digit.test('a');  // returns false
digit.test('1');  // returns true
digit.test('&');  // returns false

const notDigit = /\D/;  
notDigit.test('a');  // returns true
notDigit.test('1');  // returns false
notDigit.test('&');  // returns true
“\w”文字は英数字を指す.反対の「\w」はどんな英数字でも言及します.
const alphaNumber = /\w/;  
alphaNumber.test('a');  // returns true
alphaNumber.test('1');  // returns true
alphaNumber.test('&');  // returns false

const notAlphaNumber = /\W/; 
notAlphaNumber.test('a');  // returns false
notAlphaNumber.test('1');  // returns false
notAlphaNumber.test('&');  // returns true
同様に、“\s”文字はどんな空白文字も参照します、一方、「\s」文字はどんな空白文字も参照します.
const whitespace = /\s/;  
whitespace.test('a');  // returns false
whitespace.test('1');  // returns false
whitespace.test('&');  // returns false
whitespace.test(' ');  // returns true
whitespace.test('\n');  // returns true

const notWhitespace = /\S/; 
notWhitespace.test('a');  // returns true
notWhitespace.test('1');  // returns true
notWhitespace.test('&');  // returns true
notWhitespace.test(' ');  // returns false
notWhitespace.test('\n');  // returns false

結論
これは正規表現の完全な議論ではありません.しかし、私はうまくいけば、彼らがストリングとストリングメソッドを使用することより役に立つ方法を伝えました.あなたはあなたの検索をはるかに具体的にするための特別な文字やコンテナ、ブラケットなどを使用することができます.次回は、これらの正規表現を使用してコードを過充電する文字列メソッドを使用します.