Regex 如何在perl中去掉这个字符串的前导部分
我有以下字符串:Regex 如何在perl中去掉这个字符串的前导部分,regex,perl,Regex,Perl,我有以下字符串: [BN_D]hostName=localhost 如何使用perl从字符串中剥离[BN_D]?这将给我一个字符串: hostName=localHost 您只需执行以下操作: ^[^]].*(.*)$ 为此您可以: ^[^]].*(.*)$ 为此您可以将[…]部分替换为零: '[BN_D]hostName=localhost' =~ s/\[.*?\]//r 您可以不使用任何内容替换[…]部分: '[BN_D]hostName=localhost' =~ s/\[.*?\
[BN_D]hostName=localhost
如何使用perl从字符串中剥离[BN_D]?这将给我一个字符串:
hostName=localHost
您只需执行以下操作:
^[^]].*(.*)$
为此您可以:
^[^]].*(.*)$
为此您可以将
[…]
部分替换为零:
'[BN_D]hostName=localhost' =~ s/\[.*?\]//r
您可以不使用任何内容替换
[…]
部分:
'[BN_D]hostName=localhost' =~ s/\[.*?\]//r
我会使用这个正则表达式,因为
\w+\]
匹配[A-Za-z0-9\]
...
my $str = "[BN_D]hostName=localhost";
$str =~ s|^\[\w+\]||;
print $str;
...
输出
hostName=localhost
我会使用这个正则表达式,因为
\w+\]
匹配[A-Za-z0-9\]
...
my $str = "[BN_D]hostName=localhost";
$str =~ s|^\[\w+\]||;
print $str;
...
输出
hostName=localhost
潜力。去掉前缀很容易。一个更好的问题是理解为什么首先存在[bnud]
。如果这是一个大型配置文件的一部分,那么它可能有一个特定的格式,可能已经有了一个用于解析它的模块。如果是这样的话,那将是一个更好的解决方案。去掉前缀很容易。一个更好的问题是理解为什么首先存在[bnud]
。如果这是一个大型配置文件的一部分,那么它可能有一个特定的格式,可能已经有了一个用于解析它的模块。如果是这样的话,那将是一个更好的解决方案。