![哪些类型的正则表达式支持(例如)负向后查找?](https://linux22.com/image/47354/%E5%93%AA%E4%BA%9B%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%94%AF%E6%8C%81%EF%BC%88%E4%BE%8B%E5%A6%82%EF%BC%89%E8%B4%9F%E5%90%91%E5%90%8E%E6%9F%A5%E6%89%BE%EF%BC%9F.png)
对 GNU 的猛烈攻击:
我正在使用一组find
命令,其中大部分用于-regex
进行匹配。每次我在正则表达式中尝试不同的功能时,我都必须循环遍历这些值,-regextype
直到一个功能起作用为止。在这种情况下,我的特殊需要是支持负向后查找。很难验证我对此功能的测试的(零)结果,因此我想简单地引用一个列表,而不是重复增加一系列的测试。
我发现了许多对 Javascript 和其他平台的参考不是支持负面回顾,但我似乎无法找到那些做。
如果能在某个地方看到一个图表,其中列出了许多流行的正则表达式样式以及它们支持和不支持的功能,那就太好了,但我也找不到。
答案1
如果你想要一个find
支持-regex
环视运算符的 la perl
,你可以使用 ast-open's find
:
$ find /etc -regex '.*(?<!g)shadow'
/etc/shadow
-regextype
特定于 GNU 实现,find
并且它支持的正则表达式类型都没有环视运算符 AFAIK。