PWB*_*ETT 7 regex unicode perl
我有一个解析环境(Marpa :: R2 :: Scanless)需要使用单个Perl regexp字符类来控制标记化.我有一些令人难以置信的东西似乎不适合任何现有的角色类.所以,在perlunicode文档中挖掘之后,我想出了以下代码,除了它没有按预期工作.我希望看到一排点穿插着所有非字母数字(除了parens).相反,我得到一个关于无法找到字符类的运行时错误.
#!/usr/bin/env perl
use 5.018;
use utf8;
local $| = 1;
for my $i (map { chr($_) } 32 .. 127) {
if ($i =~ /\p{Magic::Wow}/) {
print $i;
}
else {
print ".";
}
}
package Magic;
sub Wow {
return <<'MAGIC';
+utf8::Assigned
-utf8::Letter
-utf8::Number
-0028
-0029
MAGIC
}
1;
Run Code Online (Sandbox Code Playgroud)
任何提示,提示,技巧或建议?
命名sub IsWow和属性Magic::IsWow.
您可以通过定义名称以"In"或"Is"开头的子例程来定义自己的二进制字符属性.