我正在解析文本行,并尝试使用单个正则表达式从行中删除尾部的“/ 1”或“/ 2”。
现在我有了这个并且它可以正常工作:
$id =~ s/\/1$//;
$id =~ s/\/2$//;
如何将这些组合成一行?我尝试使用大括号,但我没有让它起作用。
答案 0 :(得分:4)
已经给出了正确的答案。但是,我想补充一点,当你的正则表达式中有斜杠/
时,最好使用不同的分隔符。它使它更具可读性,你不必逃避斜线。
$id =~ s#/[12]$##;
您可以使用各种各样的字符作为分隔符,有关详细信息,请参阅perlop。
答案 1 :(得分:2)
您可以使用字符类 - [12]表示1或2:
$id =~ s/\/[12]$//;
答案 2 :(得分:2)
$id =~ s/\/[12]$//;
使用与[12]
或1
匹配的字符类2
。