3
匹配字符串的最佳方法是什么?除了素数次数之外,它发生在1到10000次之间的任何地方?perl6,除素数次数外如何匹配1至10000次?
say so "xyz" ~~ m/ <[x y z]> ** <[ 1..10000] - [ all prime numbers ]>/
谢谢!
匹配字符串的最佳方法是什么?除了素数次数之外,它发生在1到10000次之间的任何地方?perl6,除素数次数外如何匹配1至10000次?
say so "xyz" ~~ m/ <[x y z]> ** <[ 1..10000] - [ all prime numbers ]>/
谢谢!
不一定是最好的方式(特别是,它会创建多达10_000子匹配对象),但一个方式:
$ perl6 -e 'say "$_ ", so <x y z>.roll x $_ ~~ /^ (<[xyz]>) ** 1..10_000 <!{$0.elems.is-prime}> $/ for 1..10'
1 True
2 False
3 False
4 True
5 False
6 True
7 False
8 True
9 True
10 True
如果感兴趣的子串有固定的长度,你也可以捕捉重复整体并检查其长度,避免创建子匹配。
谢谢Christoph的帮助! – lisprogtor