Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何匹配以“quot”结尾的行/1“;或/2“;使用单个正则表达式?_Regex_Perl - Fatal编程技术网

Regex 如何匹配以“quot”结尾的行/1“;或/2“;使用单个正则表达式?

Regex 如何匹配以“quot”结尾的行/1“;或/2“;使用单个正则表达式?,regex,perl,Regex,Perl,我正在分析文本行,并尝试使用单个正则表达式从行中删除尾部“/1”或“/2” 现在我有了这个,它工作正常: $id =~ s/\/1$//; $id =~ s/\/2$//; 如何将这些组合成一行?我尝试过使用大括号,但没有成功。可以使用字符类-[12]表示1或2: $id =~ s/\/[12]$//; 使用与1或2匹配的字符类[12],已给出正确答案。但是,我想补充一点,当您的正则表达式中有斜杠/时,最好使用不同的分隔符。它使它更具可读性,而且您不必逃避斜杠 $id =~ s#/[

我正在分析文本行,并尝试使用单个正则表达式从行中删除尾部“/1”或“/2”

现在我有了这个,它工作正常:

  $id =~ s/\/1$//;
  $id =~ s/\/2$//;

如何将这些组合成一行?我尝试过使用大括号,但没有成功。

可以使用字符类-[12]表示1或2:

$id =~ s/\/[12]$//;

使用与
1
2
匹配的字符类
[12]
,已给出正确答案。但是,我想补充一点,当您的正则表达式中有斜杠
/
时,最好使用不同的分隔符。它使它更具可读性,而且您不必逃避斜杠

$id =~ s#/[12]$##;
您可以使用多种字符作为分隔符,有关详细信息,请参阅

$id =~ s#/[12]$##;