1

我想使用 grepwin 删除文件的第一个和最后一个字符。用 grep 查找第一个和最后一个字符的正则表达式是什么?

例子

文件.txt

[{esfdf},{dsdsdds}]

正则表达式的结果

{esfdf},{dsdsdds}
4

3 回答 3

3

实现这一目标的唯一方法是使用以下正则表达式:

(?<!.)^.|.$(?!.)

检查 点匹配换行符

上面带有“替换为:”的正则表达式@会将文件转换为:

abc123d3ef1288i
zyz23yo21zozzxcvb
dj231231sosd

在:

@bc123d3ef1288i
zyz23yo21zozzxcvb
dj231231sos@

要删除字符,请不要将任何内容作为“替换为:”字符串并点击Replace


注意:“唯一方式”是指“点匹配换行符” - 如果不使用“点匹配换行符”,则没有其他方法可以测试 EOF(文件结尾)。就正则表达式和分组而言,几乎有无限的可能性。

于 2013-06-07T03:42:09.267 回答
0

可能不是最好的方法,但为了快速回答

$ awk '{$1=""; $NF=""} 1' FPAT=. OFS= file.txt
{esfdf},{dsdsdds}
于 2013-06-07T02:51:57.637 回答
0

尝试这个

# Pattern string
^.{1}(.*?).{1}$

# Replace string
$1
于 2013-06-07T03:45:54.823 回答