【发布时间】:2021-08-22 03:53:25
【问题描述】:
我编写了一个正则表达式来尝试使用 gsub 和 awk 替换每次出现的不在双引号中的单词。然而,即使该表达式适用于在线计算器,该表达式也不会替换我脚本中的任何内容。
输入 =
studentNum=="00000"{print name, "is the prof"}
表达式:
gsub( "studentNum(?=[^"]*(?:"[^"]*"[^"]*)*$)", "XXX", input)
预期输出:
XXX=="00000"{print name, "is the prof"}
【问题讨论】:
-
您的正则表达式似乎试图替换双引号中的单词之前的单词,而不是每次出现的单词都不是双引号。如果您想替换不是在双引号中出现的每个单词,您应该在示例输入/输出中的双引号中包含该单词的示例。