Word通配符搜索表达式匹配已经应用了特定字符样式的最长可能字符串


0

我正在编写一个宏来将Word文档转换为LaTeX。

一切顺利,除了一件事:文档大量使用样式模板,实际上使用字符样式来实现功能标记。例如,文本中出现的所有作者姓名都使用字符样式“作者姓名”。所有非英语单词或(以及它变得棘手的地方)短语都应用了“外语单词”样式。

让我们考虑一下“外来词”风格的例子。为了将它转换为LaTeX,我需要做的是创建一个搜索,尽可能贪婪地搜索所有应用了“外来词”样式的字符,取这个字符串,并将其包装在\ emph {\ 1}(\ 1表示匹配字符串的位置)。

使用微软的 非常温和的解释 它的通配符语法,我希望搜索术语“*”(没有引号)和应用的“外来词”样式应该这样做,但事实并非如此。它不够贪婪,只能找到个别角色。我可以通过在搜索中包含分隔符来使通配符搜索更加贪婪 - “[] * []”确实找到了整个单词---,但是在当前实例中会失败,因为,例如,当一个术语像“ ad-hoc“可能在空格之前和之后,空间本身不会应用”外来词“样式,因此被排除在搜索之外(永远不要指出存在大量潜在字符串边界的事实:多-word外语短语可以在冒号,分号,空格,六个潜在引号字符之一,段落标记或......之前和之后。

基本上,我正在寻找一个Word的通配符搜索表达式,它匹配可能具有某种样式的最长的不间断字符串。

由barlop编辑以添加OP的澄清。

`作为一个例子,给出下面的这个文字,我把它放在引号中。

“除了 seigneuries 虽然现在魁北克省唯一的贵族头衔可以追溯到 封建领主的 系统是'的标题' Baron de Longueuil ',在Le Moyne家族中“

看看上面引用的那篇文章。所有斜体字都应用了“外来词”的风格。在“Baron de Longueil”的情况下,这包括“Baron”,“de”和“Longueil”之间的空格。我正在寻找一个搜索,将这三个斜体字中的每一个分别作为一个字符串。

结果应该是“除了\ emph {seigneuries}之外,还有更高贵的领地被授予,尽管现在魁北克唯一剩下的贵族头衔可以追溯到\ emph {seigneurial}系统的标题是' \ emph {Baron de Longueuil}',在Le Moyne家族中


什么“外国词'的应用风格”是什么意思?!我检查了你链接到的那个单词帮助页面,它甚至没有使用“样式”这个词,更不用说“外来词”了。比如,什么是“风格”,如果你的意思是应用基于字体的正则表达式,无论是粗体还是斜体,我认为这是一个vba问题。 a)测试文本是否为粗体b)应用正则表达式
barlop

哦,我想我明白..所以你想让正则表达式考虑文本是否是粗体..嗯..嗯。
barlop

你能给出一个展示问题的案例
barlop

样式是预定义的格式。看到 office.microsoft.com/en-us/word-help/... 您可以(在VBA宏和高级查找和替换框中)将搜索操作限制为仅应用了某种样式的段落或字符串。
jjbornheim

好吧,但对于正则表达式采取样式或任何非正则表达式,考虑是另一个问题..你怎么样给出一个案例来证明问题,如。这是带有任何标记的文本/输入..以下是您希望将其替换为的内容。
barlop

Answers:


3

这是原则。这将替换任何斜体文本,并在常规文本周围添加一些标记。

^& 意思是用原件代替。

并指定斜体或常规,我选择format..font ..然后从弹出的字体对话框中的下拉列表中选择斜体或常规。

请注意,查找框实际上是空白的,但在它下面则显示它正在寻找的格式/样式,(斜体)

请注意,replace指定要替换的内容,以及下面指定格式/样式(在这种情况下是常规的)

enter image description here

关于选择字体/样式,这是我如何做的,包括截图。

在查找/替换屏幕的左下角,选择format..font

enter image description here

并选择斜体。我忽略了所有那些像'效果'下的东西的复选框。这是在该文本框区域(斜体,常规,...)中的选择,我用黑色圆圈表示要使用的选项,用于选择常规或斜体等。

enter image description here


这个漂亮。我不知道你可以在不使用繁琐的通配符搜索的情况下替换原文。谢谢!
jjbornheim

是的,很优雅。 Word语法不大! ms中的正则表达式的东西不是由ms发明的。所以我认为他们没有添加斜体或任何样式功能。但是,我通过查找如何做一个简单的功能来找到答案,如替换斜体字。我得到了一个关于将粗体改为斜体的链接。 msofficeforums.com/word/... 几乎说离开找空白并提到^&。一个链接提到格式...因此,当你看到如何做一些微不足道的事情,如用xyz或粗体替换斜体时,你的问题就变得简单了。
barlop
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.