我用下面这个表达式
S / ^ ‘|’ $ //只是我期待以下结果
‘价值’ - >值(不带单引号)
但在我的表达中,结果是作为值给出的’它只删除……
正如@WiktorStribi?ew和@lurker评论的那样,没有 /g 修饰语, s/// 运算符仅在匹配的第一个(从左到右)出现时运行。看到 perlretut 了解更多信息。
/g
s///
作为替代方案,将它作为两个正则表达式运行可能更简单(这通常用于 trim 实现):
trim
do { s/^'//; s/'$// } for $val;