Как сопоставить слова определенного размера с помощью регулярных выражений? - PullRequest
0 голосов
/ 06 августа 2010

У меня есть файл с именем file.txt, скажем, 3 слова

запрет
Луна
смешно

Теперь я хочу сопоставить только слова с 3 или 4 символами

grep "[a-z]\{3,4\}" file.txt

Это не работает .. Это все еще соответствует всем 3 словам, я ожидал, чтобы совпадать только с первым 2. Что я здесь не так делаю?

Ответы [ 3 ]

2 голосов
/ 06 августа 2010

Используйте это:

grep "\<[a-z]\{3,4\}\>" file.txt
0 голосов
/ 06 августа 2010

Слово с 5 символами соответствует [a-z]{4}.Вам нужны границы слов и egrep:

chris$ egrep "\b[a-z]{3,4}\b" regextest.txt 
ban 
moon 
chris$
0 голосов
/ 06 августа 2010

Это соответствует каждой трех или четырехбуквенной комбинации.Вам нужно сопоставить каждую трех- или четырехбуквенную комбинацию, ограниченную пробелом или началом или концом строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...