LoginSignup
5
1

More than 3 years have passed since last update.

文字列の間を正規表現で抜き出したい

Last updated at Posted at 2020-07-14

文字列の間の抜き出しに手間取ったので、メモ。

経緯

文字列の前後が固定で、間にある文字を抜き出す

例:
下記を連結したファイル名や定数からサービス名部分を抜き出したい

COMPANY_SERVICE_OPTION
※命名規則がサービス会社_サービス名_OPTION

パターン1

こちらを参考にして取得


"COMPANY_SERVICE_OPTION".slice(/COMPANY_(.+)_OPTION/)
puts $+

SERVICE

「$+」はRubyの組み込み変数で他にもいろいろとある模様
しかしながら、非推奨との記載もちらほら見かけたため下記パターン2を使用した。

パターン2

こちらのgsub記載を参考にして取得


puts "COMPANY_SERVICE_OPTION".gsub(/COMPANY_(.+)_OPTION/,'\+')

SERVICE

パターン3(追記)

scivolaさんからコメントいただいた方法


"COMPANY_SERVICE_OPTION".match(/COMPANY_(.+?)_OPTION/)[1]

SERVICE

以上です。
いいねやQiitaやTwitterのフォローいただけると励みになります!
他にも方法がありましたら、コメントお待ちしております。
宜しくお願いします〜

参考

正規表現で間の文字列を抜き出したい
[Ruby] Kernelの特殊変数をできるだけ$記号なしで書いてみる
String - Rubyリファレンスマニュアル

5
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1