【发布时间】:2011-03-16 08:50:22
【问题描述】:
我有这样的字符串:
"一些标准文本 CONST_INSIDE_QUOTES" blah blah CONST "可能还有其他引号"
问题是,我想用一些文本替换字符串中的所有常量,但它不能应用于引号中的文本内的常量。我有这个正则表达式:
sed "s/([A-Z][A-Z0-9_]*)([^a-z])/\1\2/g"
这当然适用于所有常量。任何想法如何排除它对引号常量的应用?不幸的是,只有 sed...
【问题讨论】:
-
请提供您想要的输出,并在您的示例输入中包含逗号,否则会导致问题
-
"一些标准文本 CONST_INSIDE_COMMAS" blah blah CONST "可能还有另一个逗号"
-
我不完全理解你所说的
constants inside text in commas是什么意思,因为 sed 命令必须处理这些逗号,如果你真的提供了一个真实世界,我们为你提供答案会更有帮助使用您想要的输出示例而不是使用伪代码。 -
read(3, "ogpid=30589 0 0\nFIK/XBRADA08.STU"..., 1024)我想编辑我的正则表达式,使其不适用于 FIK、XBRADA08 和 STU -
“逗号”我假设你的意思是引号? IE。逗号是 this: ,而引号是 this: "