在匹配空间中与sed进行匹配,从何时开始支持sed



我在一个系统上看到一个脚本,我必须在几个(旧的)平台上维护这个脚本,使用sed regexp:

sed 's/([\x27"])key1: 1value1//'

\x27是转义单引号的一种方式。所以更容易读懂的regexp格式是:

(['"])key1: 1value1

将第一组匹配为'",然后在匹配regexp中使用1来匹配类似的引用。所以它将匹配所有行:

"key": "value"
'key': 'value'

现在这是一个很好的解决方案。但我担心这可能不存在于旧的sed版本。

所以问题是:这个特性是如何被称为的,它是如何被支持/可用的?

这个特性被称为"反向引用",我认为这是正则表达式的标准特性。根据这个FAQ,它应该被所有sed实现所支持。

组也可以嵌套(like (this) is here),并且可以包含任何有效的正则。反向引用重复特定对象的内容组,使用反斜杠和数字(1-9)表示每个对应的组。换句话说,/(pom)1/是另一种书写方式/pompom/ .

最新更新