我的数据字符串是这样的:
(wlc-nyhy30-a) *
我需要删除与) *
完全匹配的开头括号和结尾括号。
我的结束字符串应为:
wlc-nyhy30-a
我可以像下面一样轻松剥离开头的(
,但是我很难让Perl匹配并删除行) *
这是起作用的第一部分:
$output{'prompt'} =~ s/^\(//;
感谢任何帮助。预先感谢。
答案 0 :(得分:5)
您可以使用:
s/^\((.*)\)\s\*$/$1/
说明:
^ beginning of the string
\( opening parenthese - needs to be escaped with \
(.*) ...a capturing group...
\) closing parenthese - needs to be escaped with \
\s a single space
\* a star - needs to be escaped
$ end of the string
这与整个字符串匹配,因此将应用于您作为示例提供的示例((wlc-nyhy30-a) *
),同时不影响其他字符串,例如(wlc-nyhy30-a) a
。
演示:
my $string = "(wlc-nyhy30-a) *";
$string =~ s/^\((.*)\)\s\*$/$1/
print $string, "\n";
收益:
wlc-nyhy30-a