Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ruby 正規表現 特定の文字列から文字列まで 抽出

Posted at

#Ruby 正規表現 特定の文字列から文字列まで 抽出する方法

【名称】ほげふが
【原材料】ほげほげ、ふがふが、もげもげ
【内容量】ほげほげ(60g×100個)×7袋入り
【配送方法】ふがふが配送
【消費期限】製造日よりほげほげ日
【販売・提供者】ふがふが販売所

↑からある特定の文字列だけ抽出しようとするときの正規表現の書き方で少しハマったので紹介

####【内容量】の中身("ほげほげ(60g×100個)×7袋入り")だけ取得したいとき

#####結論

extract.rb

str = "【名称】ほげふが【原材料】ほげほげ、ふがふが、もげもげ【内容量】ほげほげ(60g×100個)×7袋入り【配送方法】ふがふが配送【消費期限】製造日よりほげほげ日【販売・提供者】ふがふが販売所"

str[/【内容量】(.*?)【配送方法】/, 1]

# 出力結果:"ほげほげ(60g×100個)×7袋入り"

###解説(ってほどのもではないですが...)

[/【内容量】(.*?)【配送方法】/, 1]
[/ここから先!という文字列(.*?)ここまで!という文字列/]
[/文字列①(.*?)文字列②/]ってことですね。

####~, 1]とは
引数を含まない結果を取得したい時は第二引数を1にします。
第二引数を0,あるいは指定しないと
【内容量】ほげほげ(60g×100個)×7袋入り【配送方法】
が返ってきてしまうということです。

まとめ

[/文字列①(.*?)文字列②/, 1]

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?