一个字符或另一个字符的正则表达式?

时间:2013-10-03 12:36:00

标签: regex grep

我正在搜索一个正则表达式代码,其中列出了包含OR和i的所有行。 我试过这个:

grep -E '[(a|i)]{1}' testFile.txt

但这给了我包含a或i的单词以及包含en i的单词。 怎么了?

2 个答案:

答案 0 :(得分:4)

您可以通过以下方式实现这一目标:

grep -E "^[^ai]*(a|i){1}[^ai]*$" testFile.txt

答案 1 :(得分:0)

如果你想要一个独家OR,那试试这个: grep -E '^[^i]*a[^i]*$|^[^a]*i[^a]*$'