3

私はこのような文字列を持っています:

:1-2-35:2-3-1:5-6-27456:35-2-11:9-5-6:1-5-2:

数字を含むすべてのグループを取得したい2 文字列は、常にダッシュで区切られた 3 つの数字のグループで構成されます。

したがって、私の正規表現はこれを返します:

1 => :1-2-35:
2 => :2-3-1:
3 => :35-2-11:
4 => :1-5-2:

私はこれを試しましたが成功しませんでした::\d*2-|-2-|2-\d*:

ご協力いただきありがとうございます。

4

4 に答える 4

0

If the groups will always contain 3 number (and 2 dashes), you can use a regex like this:

:(2-\d+-\d+|\d+-2-\d+|\d+-\d+-2)(?=:)

(Note, it may vary slightly, based on the regex implementation of the language you are using.)

See, also, this short demo in PHP.

于 2013-06-06T12:31:30.847 に答える
0

You can use this:

(?<=:)(?:2-\d+-\d+|(?:\d+-){1,2}2\b[^:]*)
于 2013-06-06T12:32:02.347 に答える