gpt4 book ai didi

regex - Emacs 正则表达式 wordWord 边界(特别是关于下划线)

转载 作者:行者123 更新时间:2023-12-03 20:32:52 30 4
gpt4 key购买 nike

我正在尝试使用 M-x replace-regexp 替换 emacs 上所有出现的整个单词(比如 foo)。

问题是我不想替换下划线单词中出现的 foo,例如 word_foo_word

如果我使用\bfoo\b 来匹配 foo 那么它将匹配带下划线的字符串;因为据我所知,emacs 认为下划线是单词边界的一部分,这与 Perl 等其他 RegEx 系统不同。

继续进行的正确方法是什么?

最佳答案

正则表达式 \<foo\>\bfoo\b匹配 foo仅当它前面或后面没有一个单词组成字符( syntax code w ,通常是字母数字,所以它在 foo_bar 中匹配,但在 foo1 中不匹配)。
从 Emacs 22 开始,正则表达式 \_<foo_bar\_> 匹配 foo_bar仅当它前面或后面没有符号组成字符时。符号成分不仅包括单词成分(字母数字),还包括标识符中允许的标点符号,在大多数编程语言中表示下划线。

关于regex - Emacs 正则表达式 wordWord 边界(特别是关于下划线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936435/

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