正規表現

参考:

正規表現 | MDN

RegExp | MDN

Regular Expressions | MDN

正規表現 (RegExp) | JavaScript 日本語リファレンス (js STUDIO)

正規表現 (RegExp) | とほほの JavaScript リファレンス

使い方

参考:

JavaScript で正規表現 文字列置換え編 – Qiita

JavaScript で正規表現 エスケープ編 – Qiita

正規表現 | JavaScript プログラミング解説 (so-zou.jp)

replace

"My name is hoge.".replace(/hoge/, 'John')

参考:

String.prototype.replace() | MDN

test

文字列に対して正規表現で検査を行い、結果を示す真偽値 ( true / false ) を返す。

(/hel+o/i).test("Hello")

参考:

RegExp.prototype.test() | MDN

正規表現を複数回実行する際の注意点 – Qiita

match

文字列に対して正規表現のマッチングを行い、そのマッチ結果を返す。

"https://example.com".match(/https?:\/\/([0-9a-z.]+)/)

参考:

String.prototype.match() | MDN

メタ文字

参考:

数字や文字、タブなどのマッチのやり方 | SONICMOOV LAB

文字クラス | MDN

lookahead / lookbehind

参考:

lookaheads (and lookbehinds) in JavaScript regular expressions | Stefan’s web dev journey

Positive lookahead with javascript regex – Stack Overflow

フラグ

  • g:グローバルなマッチを行う。最初のマッチの後に止まることなくすべてのマッチを探す。
  • m:複数行に渡るマッチを行う。先頭および終端を示す文字 ( ^$ ) が複数の行で機能する。
  • i:大文字小文字を区別せずにマッチを行う。

参考:

引数 | MDN

改行にマッチさせる

改行を含む全ての文字にマッチする正規表現は[\s\S] を使う。

/[\s\S]*/

JavaScript では m フラグを設定しても . は改行にマッチしない。次の正規表現は最初の行にのみマッチする。

/.*/m

参考:

JavaScript で改行文字を含めて文字にマッチさせる正規表現 | EasyRamble

JavaScript で改行にもマッチする正規表現 | FFFF

JavaScript の正規表現で new RegExp(‘[\s\S]’, ‘gm’) して、改行も含めた全ての文字列とマッチさせようとしてもうまくマッチしない | Web エンジニアの LoL 日記

コメントを記入する

参考:

Commenting Regular Expressions – Stack Overflow

パフォーマンス

参考:

JavaScript の Regex とそれの効率的なコードの書き方 – Qiita

まとめ

参考:

JavaScript 正規表現まとめ – Qiita

Javascript による正規表現まとめ | Y’s note

Tips

参考:

JavaScript での正規表現のハマりポイント – Qiita

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です