Word 中 RegEx 的帮助

Word 中 RegEx 的帮助

我有一个 Word 2010 文档,其中包含具有预定义样式的块列表。这些样式用于其他软件来处理这些块。

我使用错误的 quickpart 创建了文档,因此所有块在其标识行中都包含错误的样式。

这里是块的 ID 行:

PREFIX_111_222_SUFFIX_增量ID: 区块的标题

ID 是递增的(001、002、003、...),每个块的标题都不同。例如:

  • 前缀_111_222_后缀_001: 这是#1的标题
  • 前缀_111_222_后缀_002: 这是标题 #2

风格如下:

  • PREFIX_111_222_SUFFIX_增量ID:有“Style1”
  • 区块的标题有“Style2”
  • ¶ 具有“Normal”样式

问题是 Quickpart 中的 ¶ 应该是 Sytle1!现在我需要更改它们全部,以便它们使用正确的样式。

有没有办法用 Word 2010 实现这一点?

我已熟练掌握使用“标准”正则表达式(python、perl、vim 等)的技巧,但我完全无法使用 Word。

我确实需要这方面的帮助。


编辑:这是我迄今为止尝试过的:

首先,我尝试匹配 ID。我尝试了这些模式,但都失败了:

  • (PREFIX_111_222_SUFFIX_*>)*:
  • (PREFIX_111_222_SUFFIX_*>)*:(*)(^13)

它选择2行而不是1行......

我的想法是:

  1. 首先添加 # 来标识我想要处理的区域:

    Pattern (PREFIX_111_222_SUFFIX_*>) *:(\*)^13
    Replacement string: \1: \2###
    

当然,我尝试了许多其他模式,但没有一个能与整体匹配,而且只与整条线匹配。

  1. 然后改变线条的样式:

    Pattern (###^13)
    Repl. STYLE_SOMETHING ^p
    

但无法让第 1 步工作。所以我完全陷入困境。

以下是我尝试过的一些文本示例:

PREFIX_111_222_SUFFIX_0001: The title of the block
Subcat1: XYZ
Subcat2: XYZ

PREFIX_111_222_SUFFIX_0002: The title of the block
Subcat1: XYZ
Subcat2: XYZ

抱歉,由于延误,我那几天的预订已经超出了预期...再次感谢您的帮助!

答案1

我终于找到了我为什么完全迷茫的原因。我没有勾选“忽略标点符号”和“忽略空格”。我只勾选了“使用特殊字符”

现在像这样的模式:

(PREFIX_*>):*(<*)^13

已成功受理。

所以就像我之前说过的,我使用#来识别我的标题,以便我可以通过另一次搜索和替换将正确的样式应用于它们!

相关内容