正则表达式删除字符前字符串中间的空格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式删除字符前字符串中间的空格相关的知识,希望对你有一定的参考价值。
我想从下面的字符串中捕获“Some Company Name”
@@VALUE= Some Company Name @@
但是在最后的@@之前没有尾随空格。
我收到这个数据作为管道,所以我试图在Perl中使用正则表达式替换这个部分,所以最终的结果看起来像:
@@VALUE=Some Company Name@@
我可以匹配公司名称前面的前导空格,但我对公司名称的匹配始终是:
"Some Company Name "
目前使用此正则表达式:
(@@VALUE=)(s)([^@]*)
如果不是最后的@@,删除尾随空格很容易。
答案
如果你想在最后的@@
之前删除所有空格,那就是
s/s+@@$/@@/;
我不确定为什么你需要匹配任何其他东西。
另一答案
试试Regex:s+(?=@@$)
另一答案
或使用perl正则表达式懒惰模式
$s = '@@VALUE= Some Company Name @@'
$s =~ s/@@VALUE=s*(.+?)s*@@s*$/$1/
print $s
以上是关于正则表达式删除字符前字符串中间的空格的主要内容,如果未能解决你的问题,请参考以下文章