我有一个单词列表,但它有一些像东方的
我需要从单词列表中找到单词,只包含a-z和A-Z。怎么做。
我正在使用grep。我应该在grep之后放什么
grep *** myfile.txt
谢谢!
答案 0 :(得分:2)
你想要的正则表达式是^ [a-zA-Z] + $
对于grep:
vinko@parrot:~$ more a.txt
Hi
Hi Dude
Hi's
vinko@parrot:~$ egrep ^[a-zA-Z]+$ a.txt Hi
在伪代码中:
regexp = "^[a-zA-Z]+$";
foreach word in list
if regexp.matches(word)
do_something_with(word)
答案 1 :(得分:1)
答案 2 :(得分:0)
[a-z]+
使用不区分大小写的选项,或
[A-Za-z]+
没有不区分大小写的选项。
发布数据和语言以获得更多帮助。
表示grep
egrep -i '^[a-z]+$' wordlist.dat
我不记得metachars需要逃脱的东西,如果它不起作用,请尝试\ [a-z \] \ +或任何类似的组合!
答案 3 :(得分:0)
如果要与单词列表匹配,请使用fgrep
。
fgrep word_list_file myfile.txt
答案 4 :(得分:0)
GNU grep
grep -wEo "[[:alpha:]]+" file
答案 5 :(得分:0)
或过滤掉包含funnies的所有单词
grep -v '[^a-zA-Z]'最短的答案有奖吗? :)
请注意[[:alpha:]]和[A-Za-z]之间存在可移植性差异。 [A-Za-z]适用于更多版本的grep,但[[:alpha:]]考虑了宽字符环境和国际化(例如当它们包含在语言环境中时带有重音字符)。