regex - 匹配一个连接点使得 Match 不可变

标签 regex match raku junction

只是为了它,我试图匹配 junctionm// 对抗正则表达式operator在 raku(在该页面上搜索 Explicit topic match)。
perl6回复:

> any('a','b') ~~ m/./
False
之后,不管我怎么打m//我收到一个不可变的匹配投诉:
> 'x' ~~ m/./
Cannot modify an immutable Match (「a」)
  in block <unit> at <unknown file> line 1
问题
这里的幕后发生了什么?
讨论
问题似乎源于 $/ special variable设置在交界处
any(「a」, 「b」)
路口匹配后,好像是「a」在引起投诉的路口。
只要我做任何改变$/到别的东西,功能恢复:
> $/=Any
(Any)
> 'x' ~~ m/./
「x」
或者
> 'x' ~~ /./
「x」
> 'x' ~~ m/./
「x」
(所以先与 // 匹配,以便更改 $/ ,然后与 m// 匹配)。
澄清
我不想“实现”超出问题要求的任何东西:我只是想了解这种行为。
编辑
出于交叉引用的目的,这现在也是 rakudo github issue ,正如@jjmerelo 所建议的那样。

最佳答案

匹配是否应该返回的附带问题FalseTrue我认为在 the comment 中已解决来自@raiph。
另一方面,接收immutable Match的主要问题错误 was ,似乎是一个错误,带有 a commit至少在我的系统上修复了它。
所以问题是(根据提交消息)正则表达式匹配对象不应该是连接。

关于regex - 匹配一个连接点使得 Match 不可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64650122/

相关文章:

javascript - 用逗号匹配字符串 javascript

raku - Perl 6 中的反式、散列和字符类

c# - 如何检查字符串是否包含特定格式

regex - xpressive 中的哪个通配符表示文本的整个结尾?

javascript - 使用 JavaScript 通过多行获取最近的匹配项

regex - 如何用 grep 排除一个单词?

javascript - 匹配字符串的正则表达式包含右括号

python - 两个列表,如果找到一个共同的匹配打印另一个列表元素

module - 使用 zef 强制安装顺序

raku - NativeCall 中的位域