我有以下句子:

我需要突出显示/加粗** 之间的字符,如下面的示例文本所示:

我的示例文本:

**用途**:在**螃蟹、蛋糕、龙虾卷或炒菜**中使用切碎的蘑菇。

期望产量:

**
用途: ** 将切碎的蘑菇用于**螃蟹、蛋糕、龙虾卷或炒菜**。

我写的代码:(?<=\*\*)(.+?)(?=\*\*)

此代码将所有单词更改为粗体。我遗漏了什么?

我使用的是 Adob​​e InDesign,它使用了 Boost 风格的正则表达式。大多数用 Notepad++ 编写的代码都可以在 Indesign 中运行。

1

  • 好的,我已经想出了代码(?<=\*\*)(?![\*\s])(.+?)(?=\*\*[\s.]) 来寻找更好的选择。


    – 



最佳答案
1

我不会到处寻找这样的工作。

  • 寻找:\*\*(.+?)\*\*
  • 代替:<bold>$1</bold>

更改<bold>indesign用于粗体字符的任何内容。

5

  • 在 Indesign 中,我只能对匹配的组进行更改。如果组中没有任何东西,它将被删除。因此,我将您的代码更改为(\*\*)(.+?)(\*\*)并将替换为:$1$2$3。这会将星号更改为粗体。所以,归根结底,它没有按预期工作。还有其他建议/想法吗?谢谢


    – 

  • @Shahid:你正在做什么替换?你如何定义bold替换?


    – 

  • 我已在链接 [Screenshot] ( ) 中分享了一张截图,如果代码匹配,则会应用“粗体”字符样式。在截图的背景中,您可以看到洋红色的句子。我只想让星号之间的句子/单词变成粗体。


    – 

  • 1
    @Shahid:我明白了。我发现的唯一方法是分两次完成这项工作。1- 将修改应用于**text**;2- 恢复样式**


    – 

  • 谢谢。我会遵循这一流程。


    –