JavaScript

JavaScriptで正規表現置換やマッチを行う方法

Shou Arisaka
1 分で読める
2017年7月5日

基本

  • 置換 var str="foobar-foobar" undefined str.replace('foo','bar') "barbar-foobar"
  • 文字列を含むかを真偽値で返す var str = "Hello world, welcome to the universe."; str.includes("world"); true

正規表現(regex)

  • replace() var re = /(\w+)\s(\w+)/igm; var str = 'John Smith'; var newstr = str.replace(re, '$2, $1'); console.log(newstr); // Smith, John Smith, John
  • match() var re = /(\w+)\s(\w+)/igm; var str = 'John Smith foobar John Smith'; var newstr = str.match(re); console.log(newstr); // Smith, John VM29918:4 (2) ["John Smith", "foobar John"]
  • test(): True or false var re = /(\w+)\s(\w+)/igm; var str = 'John Smith foobar John Smith'; var newstr = re.test(str) console.log(newstr); VM30242:4 true undefined var re = /(\w+)\s\n\n\n\n(\w+)/igm; var str = 'John Smith foobar John Smith'; var newstr = re.test(str) console.log(newstr); VM30250:4 false

test()はreplace()などとは相対的に,正規表現パターンをオブジェクトとするので注意 正規表現パターンは別に定義するのが肝.

  • 装飾子
    • i: 大文字と小文字を区別しない一致を実行する
    • g: グローバルマッチを実行する(最初のマッチの後に停止するのではなく、すべてのマッチを見つける)
    • m: 複数行のマッチングを実行する

参考: replace: https://www.w3schools.com/jsref/jsref_obj_regexp.asp https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace match: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/match https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

この記事をシェア

Shou Arisaka 2017年7月5日

🔗 リンクをコピー