0

入力文字列で何度でも発生する可能性のあるグループがあります。一致するすべてのアイテムのリストを取得する必要があります。

たとえば、入力の場合:

example repeattext 1 anything here repeattext 2 anything repeattext 3

私の正規表現は次のとおりです。

 (repeattext \d)

グループの一致リストを取得したい。ここで正規表現を使用することは可能ですか、それとも自分で解析する必要がありますか?

4

2 に答える 2

1

はい、ここで正規表現を使用できます。既存の正規表現は問題なく機能します。

例で使用されているものについては、 http://rubular.com/r/fS8c9C61rGを参照してください。

数値が10以上になる場合は、次の正規表現を検討してください。

(repeattext \d+)
              ^
              |
              `- matches 1 or more repeating of previous
于 2012-06-14T06:06:04.223 に答える
1

使用する

result = subject.scan(/repeattext \d+/)
=> ["repeattext 1", "repeattext 2", "repeattext 3"]

メソッドのドキュメントを.scan()参照してください。

于 2012-06-14T06:40:47.667 に答える