~/blog/performing-regular-expression-replacement-and-matching-in-javascript
Published on

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

1721文字3分で読めます–––
閲覧数
Authors
  • avatar
    Name
    Shou Arisaka nyapp.buzz/shou
    short bio
    Z世代の情報技術者。Next.jsで自作SNSを個人開発中。

基本

  • 置換 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,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

avatar

Shou Arisaka

情報技術者 / Z世代プログラマー / SaaSアプリやSNSを開発
今すぐ話そう!

15歳でWordPressサイトを立ち上げ、ウェブ領域に足を踏み入れる。翌年にはRuby on Railsを用いたマイクロサービス開発に着手し、現在はデジタル庁を支えたNext.jsによるHP作成やSaaS開発のプロジェクトに携わりながら、React.js・Node.js・TypeScriptによるモダンなウェブアプリの個人開発を趣味でも行う。
フロントエンドからバックエンドまで一貫したアジャイルなフルスタック開発を得意とし、ウェブマーケティングや広告デザインも必要に応じて担当、広告運用・SEO対策・データ分析まで行う低コストかつ高品質な顧客体験の提供が好評。
国内外から200万人を超える人々に支えられ、9周年を迎えるITブログ「yuipro」の開発者、デザイナーでありライター。現在ベータ段階の自作SNS「nyapp.buzz」を日本一の国産SNSとするべく奮闘中。

Created with Fabric.js 5.2.4 何かご質問がありますか?