我正在尝试在/ usr / share / dict / words中打印包含两个“ w”或两个“ z”的单词。单词中的“ w”或“ z”在哪里都没有关系。 我已经尝试过了,但是不能正常工作:
$('.droppable').droppable({
drop: function(event, ui){
$(ui.draggable).draggable({revert: false});
console.log($(ui.draggable.data('data-object')));
}
});
答案 0 :(得分:2)
带有-E标志以支持ERE:
grep -E 'w.*w|z.*z' /usr/share/dict/words
grep -E '([wz]).*\1' /usr/share/dict/words
关于第二个,某些实现可能不支持ERE中的反向引用,因此不要依赖它,不要指望它在任何地方都可以使用。
答案 1 :(得分:1)
要完全匹配具有两个w或z(不是三个或更多)的 的单词,可以使用:
grep -E '^[^w]*w[^w]*w[^w]*$|^[^z]*z[^z]*z[^z]*$' /usr/share/dict/words
答案 2 :(得分:1)
使用awk
怎么办:
awk 'gsub("w", "&") >= 2 || gsub("z", "&") >= 2' /usr/share/dict/words
答案 3 :(得分:1)
要查看至少2 ws或2 zs的单词,您可以执行以下操作:
egrep "(z.*z|w.*w)" /usr/share/dict/words
说明:匹配包含至少2个zs或至少2个ws的任何行
要查看准确 2 ws或zs的单词,您可以执行以下操作:
egrep "^([^z]*z[^z]*z[^z]*|[^w]*w[^w]*w[^w]*)$" /usr/share/dict/words
说明:匹配以0或多个非z / w字母,后跟az / w,零个或多个非z / w字母,后接az / w和另一组零个或多个非z / w字母。简而言之,请确保zs或ws中恰好有2个。
答案 4 :(得分:0)
我个人认为“两个不同的表达式”方法更具可读性:
$ grep -e 'z.*z' -e 'w.*w' /usr/share/dict/words | head
abuzz
adazzle
Albizzia
amidoazobenzene
amidoazobenzol
aminoazobenzene
arrowweed
arrowwood
arrowworm
athwarthawse