首页 > 解决方案 > 正则表达式:两个通配符的异或?

问题描述

我一直在尝试进行正则表达式匹配,以匹配 CPU 指令,例如:

and val1, val2
sub val1, val2

如何制作一个可以执行通配符来代替这两个值的正则表达式但是,这两个值不能相同?

and ...\, ...
sub ...\, ...

但是第一个... !=第二个在哪里...

标签: regexgrep

解决方案


在每个 UNIX 机器上的任何 shell 中使用任何 awk:

awk -F'[ ,]+' '($1 ~ /^(and|sub)$/) && ($2 != $3)' file

推荐阅读