【发布时间】:2015-10-14 19:30:15
【问题描述】:
我需要在 Perl 中更改 \w 字符类的行为。我希望它匹配[a-zA-Z0-9_.]。也就是说,我想在字符类中添加.。这可能吗?
我需要修改\w,因为我想要一些模块(例如Getopt::Long)将“foo.bar”之类的内容视为有效词。
【问题讨论】:
-
我认为不可能。为什么不使用
[a-zA-Z0-9_]+(?:\.[a-zA-Z0-9_]+)*? -
正如mbethke 所描述的,这是一件非常丑陋的事情。如果您解释了您要解决的问题,或许我们可以为您提供更好的帮助?
-
如问题中所述,一个示例是使
Getopt::Long将foo.bar识别为有效的选项规范。 -
@KevinVW:是的,但你为什么要那样做?选项规范纯粹是 Perl 程序本地的,不需要外部匹配任何东西
-
与作者对话;他们可能愿意为您添加
.