正则表达式使用正则表达式搜索在eclipse中查找以`*`开头并以`)`开头的行

时间:2015-06-04 13:56:56

标签: regex eclipse shell grep

我试图在Eclipse中使用这种常规表达来查找下面提到的行。

我有一个文本文件text.txt

teeet()
*test()
*test
* ()
test 
asdgaer ()
* test()

我想找到正则表达式,找到以*开头并以)结尾的所有行

示例输出:

*test()
* ()
* test()

这是我到目前为止所做的:

grep "^\* . )$" Test.txt

输出为空白。

我试过了:

grep "^\*" Test.txt

输出结果是:

*test()
*test
* ()
* test()

也尝试过:

grep ")$" Test.txt 

输出结果为:

teeet()
*test()
* ()
asdgaer ()
* test()

将它们结合起来,它们没有像我预期的那样工作。

2 个答案:

答案 0 :(得分:3)

您可以使用:

grep '^\*.*)$' file
*test()
* ()
* test()

否则:

grep -E '^\*.*\)$' file

您必须在开始.*结束*之间保持)与之间的任意数据匹配。

答案 1 :(得分:1)

我认为awk对于这种检查也很方便:

$ awk '/^*/ && /)$/' file
*test()
* ()
* test()
  • /^*/检查该行是否以*开头。
  • /)$/检查该行是否以)结尾。

&&之间我们确保两件事都发生。