以下一个班轮不能按我的预期工作:
echo "--tags hi -d -e foo=bar" | perl -ne '$_ =~ s|\b-d\b||; print $_'
Run Code Online (Sandbox Code Playgroud)
"-d"仍然存在.看了15分钟后,我觉得我应该得到帮助.
这确实有效:
echo "--tags hi -d -e foo=bar" | perl -ne '$_ =~ s|-d||; print $_'
Run Code Online (Sandbox Code Playgroud)
但当然可能并不总是有效......即我在搜索中需要单词边界标记.
\b并不意味着在空格之前或之后,它意味着一个单词边界(一个单词字符序列的过渡或出现); 因为-不是一个字符,而\b-手段-有前有一个字字符.
我猜也许你的意思s|(?<!\S)-d(?!\S)||(-d既不是先前也不是非空白字符.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |