jak*_*kar 5 regex-lookarounds raku
我正在阅读有关“嵌套结构的波浪号”的正则表达式文档。
关于使用的副业解释<?>是:
这里
<?>成功匹配了空字符串。
我以为我可以使用<?[]>它来代替它,但它没有这样做!
举个例子:
say so "" ~~ / <?> /;
say so "test" ~~ / <?> /;
say so "" ~~ / <?[]> /;
say so "test" ~~ / <?[]> /;
Run Code Online (Sandbox Code Playgroud)
响应:
True
True
False
False
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个解释吗?
Jon*_*ton 10
语法<?[]>表示匹配空字符类的前瞻。观察到空字符类也永远不会匹配:
say "x" ~~ /<[]>/ # Nil
Run Code Online (Sandbox Code Playgroud)
字符类指定一组可以匹配的字符。空字符类意味着一组空字符,因此不可能匹配任何内容。