【问题标题】:Microsoft Word Regex: Is there an "OR" operator such as |?Microsoft Word 正则表达式:是否有“或”运算符,例如 |?
【发布时间】:2020-03-09 20:19:59
【问题描述】:

一直在互联网上四处寻找,但我似乎找不到。这对于查找和替换数字(即 one|1)等情况非常有用。我想用一 (1) 个替换。

【问题讨论】:

  • 不要尝试在 Word 文档中使用 RegEx。 RegEx 只能处理与文档内容分离的字符串。需要 Word 的内置查找和通配符。而且,不,没有“或”功能。
  • 我的印象是这些通配符是正则表达式的一种风格,所以这就是我所说的正则表达式 - 通配符的意思。究竟什么是“与文档内容分离”的字符串。文档内容实际上是一系列字符串;你的意思是脱离格式化标记?那是没有帮助的。但你是对的。我做了更多的研究。没有 OR 运算符。
  • «文档内容实际上是一系列字符串»。不是这样。 Word 文档不仅仅是“一系列字符串”。 Word 文档通常包含表格、字段(例如交叉引用、超链接)、自动编号和项目符号、脚注/尾注、图像等,RegEx 都不能很好地处理这些。
  • 应该作为stackoverflow.com/questions/34206312/…的副本关闭
  • 在讨论软件时,术语非常重要。正则表达式是东西; Word 的通配符是另外一回事。当使用 RegEx 一词时,阅读者会按字面意思解释它。所以使用正确的术语非常重要……

标签: regex ms-word wildcard


【解决方案1】:

正如 Cindy 指出的,没有使用通配符的“OR”运算符:https://answers.microsoft.com/en-us/msoffice/forum/all/or-operator-in-word-find/c7342d5e-9e08-43f2-96c5-347050601b01。也就是说,如果您要使用 Visual Basic 编写宏,您可以“导入”一个 RegEx 对象并使用它,这应该允许您使用 OR 运算符,例如:“|” How to Use/Enable (RegExp object) Regular Expression using VBA (MACRO) in word。这比简单的查找和替换更难构建。根据该文档,这种情况下的运算符实际上是“|”:https://www.udemy.com/blog/vba-regex/。但是 RegEx 有许多不同的实现或风格,即使许多实现共享语法,它也不是一个通用标准。看到这个:https://en.wikipedia.org/wiki/Comparison_of_regular-expression_engines。这可能会有所不同。 Word 的通配符,即使它们不是传统的 RegEx(我最初认为它们是 RegEx 的一种风格,但现在不再是),也可以支持 OR 运算符。在撰写本文时,他们只是

【讨论】:

    猜你喜欢
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2011-09-29
    相关资源
    最近更新 更多