入力文字列で何度でも発生する可能性のあるグループがあります。一致するすべてのアイテムのリストを取得する必要があります。
たとえば、入力の場合:
example repeattext 1 anything here repeattext 2 anything repeattext 3
私の正規表現は次のとおりです。
(repeattext \d)
グループの一致リストを取得したい。ここで正規表現を使用することは可能ですか、それとも自分で解析する必要がありますか?
入力文字列で何度でも発生する可能性のあるグループがあります。一致するすべてのアイテムのリストを取得する必要があります。
たとえば、入力の場合:
example repeattext 1 anything here repeattext 2 anything repeattext 3
私の正規表現は次のとおりです。
(repeattext \d)
グループの一致リストを取得したい。ここで正規表現を使用することは可能ですか、それとも自分で解析する必要がありますか?
はい、ここで正規表現を使用できます。既存の正規表現は問題なく機能します。
例で使用されているものについては、 http://rubular.com/r/fS8c9C61rGを参照してください。
数値が10以上になる場合は、次の正規表現を検討してください。
(repeattext \d+)
^
|
`- matches 1 or more repeating of previous
使用する
result = subject.scan(/repeattext \d+/)
=> ["repeattext 1", "repeattext 2", "repeattext 3"]
メソッドのドキュメントを.scan()
参照してください。