【发布时间】:2017-06-13 02:02:49
【问题描述】:
我正在解析 Perl 脚本中的一些参数,我正在努力匹配文件名格式为“name1.name2”的参数。示例名称可能是“enroll.peacecorp” 我的代码如下所示:
my $parms = join(' ',@ARGV);
# other params here
$db_name = $1 if ( $parms =~ /-dbname\s+(\w\.\w+)/ );
# more params here
但它似乎不起作用。我尝试将模式设置为 /-dbname\s+(\w.\w+)/ 但也没有成功。我也试过这个,它确实可以正常工作,但不够灵活:/-dbname\s+(enroll.\w+)/
我知道对于你们中的一些正则表达式专家来说,这不是一个棘手的问题。我会很感激一些建议。谢谢。
【问题讨论】:
-
\w匹配一个字符,所以你最好的是n.name2 -
只需在第一个
\w之后添加一个+