正则表达式:查找不以特定前缀开头的字符串

标签 regex grep

我想在字符串中查找一个单词,但前提是它不以前缀开头

例如。

我想找到 APP_PERFORM_TASK 的所有外观,但前提是它们不以 CMD_DO 前缀开头(“

所以,

CMD_DO("APP_PERFORM_TASK")   <- OK (i don't need to know about this)  
BLAH("APP_PERFORM_TASK")     <-- NOT OK, this should match my search.

我尝试过:

(?!CMD_DO\(")APP_PERFORM_TASK

但这并没有产生我需要的结果。我做错了什么?

最佳答案

这是一个快速方法:

使用 --invert-match (也称为 -v)标志忽略 CMD_DO 并将结果通过管道传输到仅匹配 BLAH 的第二个 grep:

grep -v CMD_DO dummy | grep BLAH

关于正则表达式:查找不以特定前缀开头的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19232832/

相关文章:

php - 匹配带点和不带点的字符串

c# - 如何识别字符串中的路径

linux - 如何在 TAILING 文件时使用每个 GREP 结果执行命令

grep - 计算非常大文件中的单词出现次数(运行时内存耗尽) grep -o foo | wc -l

linux - 将查找结果通过管道传输到 grep 中以快速排除目录

javascript - 可定制的字母替换器

Java 正则表达式 - 如何替换模式或如何

java - 如何否定Java中的任何正则表达式

linux - 使用 grep -n (data) file1.txt > file2.txt

Linux:从txt列表中检查重复项