我想知道是否有任何方法可以正则表达式匹配包含qcc但没有-c的字符串?例如,以下两个将匹配:
但是以下内容不会:
/ sdfsd / sdf / sd / fs / df / dsfds / qcc -lang-c -Vgcc_ntoaarch64le -c -o / sdfsd / dfsdfsd / sdfsd -Wall -fmessage-length = 0 -Wformat-security -g -Os -D_FORTIFY_SOURCE = -Wno-error =格式安全-DFORD_SECTION -DFNV2LOG_DEBUG -std = gnu11 dir.c
最佳答案
Go regex(RE2)不支持断言,这会使这变得容易。
因此,必须分别处理两个正则表达式条件:
gcc
存在:/\bgcc\b/
-c
不跟随下游:/\bgcc\b.+?\b-c\b/
验证匹配逻辑为
if #1 and not #2
,然后成功。