【发布时间】:2018-10-16 12:50:47
【问题描述】:
似乎是一个非常基本的问题,但如何使用 replace-regexp(或 re-bulding)在正则表达式中捕获字符 * 和/或 + ?
问题是,如果我没记错的话,+ 和 * 分别用于匹配至少一个或零个或多个前一个字符。
更具体地说,我想匹配[^*+] 之类的内容,即* 和+ 以外的任何字符。
我可以在任何地方找到答案...
【问题讨论】:
似乎是一个非常基本的问题,但如何使用 replace-regexp(或 re-bulding)在正则表达式中捕获字符 * 和/或 + ?
问题是,如果我没记错的话,+ 和 * 分别用于匹配至少一个或零个或多个前一个字符。
更具体地说,我想匹配[^*+] 之类的内容,即* 和+ 以外的任何字符。
我可以在任何地方找到答案...
【问题讨论】:
如果您在方括号内使用这些字符,则它们将被视为字符,而不是重复符。唯一需要特别注意的是 - 字符 - 因为它用于指定字符范围,如果在范围搜索中使用它应该是第一个字符,例如 [-+] 或 [^-+]。
如果您在范围运算符之外使用这些字符,则需要使用反斜杠对其进行转义,例如 \+ 或 \\+(如果它在执行正则表达式的代码中)。
您可以在EmacsWiki 和documentation 中找到有关正则表达式语法的更多信息。
【讨论】: