如何grep以指定字符串开头并以另一个指定字符串结尾的行?

时间:2016-03-24 14:10:28

标签: regex unix grep

例如,我如何获得以foo开头并以bar结尾的行?

示例行:

foo12345abar
fooabcdbar
fooy7ghqqbar

这似乎不起作用

grep '^foo[.]*bar$'

正确的正则表达式是什么?

2 个答案:

答案 0 :(得分:2)

表达式不起作用的原因是因为[.]代表一个点,字面意思。您的表达式将匹配如下所示的字符串:

foo.......bar
foo...bar
boobar

要使其正常工作,请删除点元字符周围的方括号[]

^foo.*bar$

Demo.

答案 1 :(得分:0)

^foo.*?bar$

这是工作DEMO