我有以下句子:
我需要突出显示/加粗** 之间的字符,如下面的示例文本所示:
我的示例文本:
**用途**:在**螃蟹、蛋糕、龙虾卷或炒菜**中使用切碎的蘑菇。
期望产量:
**用途: ** 将切碎的蘑菇用于**螃蟹、蛋糕、龙虾卷或炒菜**。
我写的代码:(?<=\*\*)(.+?)(?=\*\*)
此代码将所有单词更改为粗体。我遗漏了什么?
我使用的是 Adobe InDesign,它使用了 Boost 风格的正则表达式。大多数用 Notepad++ 编写的代码都可以在 Indesign 中运行。
1
最佳答案
1
我不会到处寻找这样的工作。
- 寻找:
\*\*(.+?)\*\*
- 代替:
<bold>$1</bold>
更改<bold>
为indesign
用于粗体字符的任何内容。
5
-
在 Indesign 中,我只能对匹配的组进行更改。如果组中没有任何东西,它将被删除。因此,我将您的代码更改为
(\*\*)(.+?)(\*\*)
并将替换为:$1$2$3
。这会将星号更改为粗体。所以,归根结底,它没有按预期工作。还有其他建议/想法吗?谢谢
– -
@Shahid:你正在做什么替换?你如何定义
bold
替换?
– -
我已在链接 [Screenshot] ( ) 中分享了一张截图,如果代码匹配,则会应用“粗体”字符样式。在截图的背景中,您可以看到洋红色的句子。我只想让星号之间的句子/单词变成粗体。
– -
1@Shahid:我明白了。我发现的唯一方法是分两次完成这项工作。1- 将修改应用于
**text**
;2- 恢复样式**
– -
谢谢。我会遵循这一流程。
–
|
(?<=\*\*)(?![\*\s])(.+?)(?=\*\*[\s.])
来寻找更好的选择。–
|