在双引号之间的文本文件中查找特定单词

时间:2012-09-06 20:00:12

标签: regex notepad++

我有很多文本文件,需要找到文件上下文中可能存在的某些单词,但只需要那些带引号的单词。

示例:只有在引号中才能在下面的文字中找到“搜索”一词(“搜索”一词可能会有所不同)。

1.  text text text text text text search text
2.  text "search text text text text" text
3.  text "SEARCH text text text text" text

对于这个精确的例子,我只期望第2行和第3行的话。

感谢任何可以帮助我的人。

2 个答案:

答案 0 :(得分:2)

如果您可以保证只有一组报价,那么

/".*search.*"/i

应该这样做。但是如果可以有多对报价,那么你必须确保已经传递了偶数的报价,以免你错误地给出开头报价的收盘价:

/^[^"]*("[^"]*"[^"]*)*"[^"]*search[^"]*"/i

这是a demo。 (请注意,该演示仅包含\n用于演示目的。)如果您在演示正则表达式中看到两个#,请将其替换为括号( {{1} } -it是RegexPal对URL中数据进行编码的方式的限制。

答案 1 :(得分:0)

我想要双引号之间的所有单词,我只想使用grep

 grep -E -o '".*"' inputfile

我只想要第一个字:

sed  -E 's/.+"([[:alpha:]]+) .*/\1/' inputfile