我省略了后视。我不确定 Dreamweaver 支持哪种类型的正则表达式。
尝试使用以下正则表达式:
NASA(?!( *</abbr>)|(\.\w+)|("))
它不会匹配 NASA 的任何实例:
- 其次是
</abbr>
不管 NASA 和</abbr>
- 后跟 a
.
和其他字符,例如 nasa.gov 被视为无效。
- 后跟一个
/
,例如 test.gov/nasa/ 被认为是无效的。
- 后面跟着一个
"
它是无效的。
当正则表达式出现在这样的引用中时,它将与 NASA 匹配:
"This NASA is surrounded by quotes"
但当它是引号中唯一的东西时不会:
"NASA"
. . . 你可以在这里看到趋势,在必要时添加额外的“或”语句。
我使用以下字符串对其进行了测试:
这句话以 NASA 结尾。此正则表达式适用于 NASA,但不适用于 nasa.gov/test/nasa/page.html 等 URL。它不适用于 <abbr>NASA</abbr>,因为它被 <abbr> 标签包围。“这个 NASA 被引号包围”,但将被匹配,因为它的格式不像这个“NASA”。
然后您可以简单地使用该正则表达式进行查找,并替换为:
<abbr title="National Aeronautics and Space Administration">NASA</abbr>
注意:引号是我无法绕过的限制,或者我不知道如何轻松绕过。我建议,如果您必须对使用某种类型的脚本语言(例如 Python)的大量文档执行此操作,并避免使用一个大的正则表达式并将其分解为逻辑语句,但这完全是另一个问题。
祝你好运!