gpt4 book ai didi

regex - 如何在 Emacs 中为 3 位数字创建正则表达式?

转载 作者:行者123 更新时间:2023-12-03 13:41:34 24 4
gpt4 key购买 nike

我想在 Emacs 中创建一个与 3 位数字完全匹配的正则表达式。例如,我想匹配以下内容:

123
345
789

但不是
1234
12
12 23

如果我使用 [0-9]+我匹配任何单个数字字符串。我以为 [0-9]{3}会起作用,但是在重新构建器中进行测试时,它与任何内容都不匹配。

最佳答案

如果您以交互方式输入正则表达式,并希望使用 {3} ,您需要使用反斜杠来转义花括号。如果您不想匹配较长数字字符串的任何部分,请使用 \b匹配数字周围的单词边界。这留下:

\b[0-9]\{3\}\b

对于那些想要更多信息的人 \b ,见 the docs :

matches the empty string, but only at the beginning or end of a word. Thus, \bfoo\b matches any occurrence of foo as a separate word. \bballs?\b matches ball or balls as a separate word. \b matches at the beginning or end of the buffer regardless of what text appears next to it.



如果您确实想从 elisp 代码中使用这个正则表达式,一如既往,您必须再次转义反斜杠。例如:
(highlight-regexp "\\b[0-9]\\{3\\}\\b")

关于regex - 如何在 Emacs 中为 3 位数字创建正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69591/

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