正規表現グループ マッチングの質問を読んでいましたが、正規表現からキャプチャ グループを参照する方法が 2 つあります。
- マッチ文字列メソッドなど
string.match(/(^.*)(:)(.*)/i).captures
- から取得した $1、$2 などの Perl 風のキャプチャ グループ変数
if match =~ /(^.*)(:)(.*)/i
- 更新: 0xCAFEBABE で述べたように、3 番目のオプションもあります - last_matchメソッド
どちらが良いですか?1) では、安全のために if ステートメントを使用して nil を防ぐ必要があるため、情報を抽出するだけではどうですか? 文字列キャプチャ メソッドを呼び出す 2 番目のステップの代わりに。したがって、オプション 2) の方が便利に思えます。