Microsoft Word 中查找和替换的正则表达式

Microsoft Word 中查找和替换的正则表达式

我想删除国家名称的前导和尾随标签。
在我的示例中,这些标签是<li><a>

<li><a href="http://afghanistan.makaan.com/">Afghanistan</a></li>
<li><a href="http://albanie.makaan.com/">Albanie</a></li>
<li><a href="http://algérie.makaan.com/">Algérie</a></li>

结果应该是:

Afghanistan
Albanie
Algérie

在 Microsoft Word 中,我想使用查找和替换功能使用正则表达式来实现。

如何在 MS Word 中使用正则表达式?

答案1

不要将输入文本复制到 Word,而是将其复制到 Notepad++ 或任何其他具有完整 RegEx 支持的编辑器。

一个 RegEx 字符串来选择标签之外的所有内容或><符号之间的所有内容。

(?<=>).*?(?=<)

在此处输入图片描述

  • (?<=>)向后看。它会查找>符号并充当锚点。这样您就可以排除搜索字符串,这很重要,因为您不想<Afghanistan
  • .*?惰性量词并选择所有内容,直到下一个表达式
  • (?=<)展望并寻找一个<符号,但排除所搜索的符号本身。就像后面的查看一样

你不想选择国家名称。你想删除所有标签。你需要第一个正则表达式的反义词。比如

<.*?>

在此处输入图片描述

  1. 打开 Notepad++ 搜索和替换对话框
  2. 选择使用正则表达式
  3. 找什么:<.*?>
  4. 替换为:无

答案2

这在 MS Word 中很容易实现查找和替换,无需Regex,无需JavaScript等。

如果您转义括号,它会找到实际的括号字符。因此,启用通配符后,表达式\<*\\>将找到尖括号之间的所有内容。只需将其替换为空即可。

答案3

看起来这就是你需要的。

给出最新的评论(你只想在 javsacript 中查看) - 我会查找类似这里

如果您希望在 SQL 数据库中实现这一点,那么我可能只需编写几行 perl 即可从原始 javascript 中为您提供列表。据我所知;MS word 不包含在内。

答案4

我不会使用查找/替换来执行此操作。最简单的方法是使用 Excel 中的“文本到列”来完成此任务。为此,请选择包含文本的列,转到“数据”功能区并选择“文本到列”。您需要执行两次,一次是删除国家名称之前的所有文本(分隔符号为“>” - 确保删除多余的列以避免混淆),一次是删除名称后的文本(分隔符号为“<”)。

相关内容