我试图在一个数字中找到一组重复的数字,例如12334555611变成(1 2 33 4 555 6 11).
这有效:
$n.comb(/ 0+ | 1+ | 2+ | 3+ | 4+ | 5+ | 6+ | 7+ | 8+ | 9+ /)
Run Code Online (Sandbox Code Playgroud)
但不是很优雅。
有一个更好的方法吗?
'12334555611'.comb(/\d+ % <same>/)
Run Code Online (Sandbox Code Playgroud)
请查看Perl Weekly Challenge第一个任务的答案
您可以使用
$n.comb(/(.) $0*/)
Run Code Online (Sandbox Code Playgroud)
所述(.)创建了一个捕获组,并捕获任何焦炭引入第1组,则存在反向引用,以第1组即$0在Perl6正则表达式。的*量词零个或多个相同的炭的匹配作为第1组。
如果您只需要匹配重复的数字,请将.with替换\d为匹配任何数字。
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |