这是一个我只能部分解决的家庭作业问题。
我想用来grep
在列表中查找包含三个由 't 分隔的 'e' 的单词,并且还执行不区分重音的搜索。
我能用正则表达式得到的最接近的是:
grep 'e.*t.*e.*t.*e' mylist
我对此有两个问题:
- 我不明白如何使用这样的模式进行不区分重音的搜索。我最近才听说等价类运算符,但我不知道如何将它们包含在我的搜索语法中。
- 我通过此搜索获得的匹配模式不包括重复的“t”。
答案1
e
如果您的正则表达式引擎支持它们,您基本上只需用其等价类替换字符即可[[=e=]]
前任。
$ grep -m 10 '[[=e=]].*t.*[[=e=]].*t.*[[=e=]]' /usr/share/dict/french
absentéiste
absentéistes
anesthésiste
anesthésistes
cafés-théâtres
café-théâtre
casse-tête
centimètre
centimètres
centripète