我正在编写一个脚本,该脚本使用正则表达式从文本文件中识别和提取各种不同格式的年份集。这是有问题的代码:
if ($parts[0] =~ /^\(*(\d\d\d\d)\)*$/) {
# Matches a single 4 digit date in parentheses such as (1979)
$start = $1;
$end = $1;
}
elsif ($parts[0] =~ m{\d\d\d\d\/\d\d\d\d} ) {
# Matches cases like 1948/1972
warn "Found a $1";
#do some other stuff
}
我遇到的问题是它找到与 中的表达式匹配的日期elsif
,但$1
不保存该值,即"Found a "
,它一遍又一遍地打印出一条消息,但没有$1
. 谁能告诉我我在这里做错了什么?如果这是一个愚蠢的错误,我深表歉意。
谢谢!