gpt4 book ai didi

regex - 哪里支持环视正则表达式,哪里不支持?

转载 作者:行者123 更新时间:2023-12-02 03:02:23 25 4
gpt4 key购买 nike

为了提高我的正则表达式技能,我想了解前向和后向表达式。在我的 Archlinux 系统上我尝试了以下操作:

a=ab;if [[ $a =~ [a-z](?=b) ]]; then echo "Y";else echo "N";fi

据我所知,应该匹配并因此回显“Y”,但事实并非如此。

echo ab |sed 's/[a-z](?=b)/x/'

...似乎也不匹配。grep 似乎也不环顾四周,但 pcregrep 却可以。我还尝试了几次引用和/或转义表达式的尝试,但无济于事。

我现在有点困惑。有人可以澄清一下,从教程中提到的次数来看,lookaround 似乎并没有什么异国情调吗?实际上可以在哪里使用它?或者我只是搞砸了逃避我的表情?

最佳答案

bash 或 sed 中提供的基本或扩展 posix 正则表达式不支持 Lookaround 断言。

GNU grep 是一个很好的测试工具,它支持 perl 兼容 正则表达式的 -P 选项。像这样:

grep --color=auto -P '[a-z](?=b)' <<< 'ab'

更丰富的资源是在线正则表达式测试工具,例如 https://regex101.com/

关于regex - 哪里支持环视正则表达式,哪里不支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34480334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com