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]
。如果这是一个大型配置文件的一部分,那么它可能有一个特定的格式,可能已经有了一个用于解析它的模块。如果是这样的话,那将是一个更好的解决方案。