2

我有两个例子:

1.

$ echo "Lorem ipsum dolor sat amet" | awk '{gsub(/L[^r]r/,""); 打印}'

em ipsum dolor sat amet

2.

$ echo "Loorem ipsum dolor sat amet" | awk '{gsub(/L[^r]r/,""); 打印}'

Loorem ipsum dolor sit amet

为什么第二个示例与第一个示例不同?

在第一个例子中,记录[^r]被视为单个字符?是因为"o"删了一个吗?

4

1 回答 1

5

L[^r]r匹配后面跟不跟likeL的任何单个字符。匹配你想要的 . 量词表示一个或多个不是 的字符。rrLorLoorL[^r]+r+r

$ echo "Loorem ipsum dolor sit amet" | awk '{gsub(/L[^r]+r/,""); print}'
em ipsum dolor sit amet
于 2012-12-12T13:13:51.683 回答