如何返回行,最后一个词以辅音字母结尾?

时间:2018-10-31 20:21:09

标签: regex grep

我的正则表达式应该返回行,最后一个单词以辅音字母结尾。 我写道:

egrep '[^aeiou]\b$'

但它仅返回不以点结尾的线。

我是regex的初学者,如果您能帮助我,我将不胜感激。

例如,我的测试文件:

Hello world
Hello world.
London is the capital of GB.
Oslo is the capital of Norway
Oslo is the capital of Norway.
Oslo is not a capital of Ukraine.

现在我的表情返回:

Hello world
Oslo is the capital of Norway

但是它应该返回:

Hello world
Hello world.
London is the capital of GB.
Oslo is the capital of Norway
Oslo is the capital of Norway.

1 个答案:

答案 0 :(得分:3)

您的正则表达式的问题在于它查找的不是字母的字母,但在另一面不一定查找辅音。 \b也不应该在那里。如果您想忽略标点符号,请尝试以下操作:

egrep '[b-df-hj-np-tv-z]\W*$'

\W表示不是[a-zA-Z0-9_]

的字符