Regex 用于捕获行首和行尾之间的字符串的Perl正则表达式(行尾有一个带字符的空格)
我的数据字符串如下所示:Regex 用于捕获行首和行尾之间的字符串的Perl正则表达式(行尾有一个带字符的空格),regex,string,perl,Regex,String,Perl,我的数据字符串如下所示: (wlc-nyhy30-a) * 我需要去掉与)*完全匹配的开始括号和结束括号 我的结束字符串应该是: wlc-nyhy30-a 我可以很容易地去掉开头的(如下图所示,但我很难让Perl匹配并删除行尾的)* 以下是第一个有效的部分: $output{'prompt'} =~ s/^\(//; 谢谢你的帮助。提前感谢。您可以使用: s/^\((.*)\)\s\*$/$1/ 说明: ^ beginning of the string \(
(wlc-nyhy30-a) *
我需要去掉与)*
完全匹配的开始括号和结束括号
我的结束字符串应该是:
wlc-nyhy30-a
我可以很容易地去掉开头的(
如下图所示,但我很难让Perl匹配并删除行尾的)*
以下是第一个有效的部分:
$output{'prompt'} =~ s/^\(//;
谢谢你的帮助。提前感谢。您可以使用:
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
演示:
收益率:
wlc-nyhy30-a
这个
”*)
在目标字符串中的什么位置?@x15,我认为它应该是“*”,如“)*
“可能比我们知道的更多。不要认为他声称结束是开始的先决条件,反之亦然,这会引起一个平衡的开合要求。最初的正则表达式似乎fine@x15:嗯,很难说清楚。起初我和你一样读,但后来我改了。OP没有评论。也许我应该编辑我的答案以显示这两种解决方案。
wlc-nyhy30-a