Как создать регулярное выражение, соответствующее слову с ошибкой в ​​первоначальной чувствительности к регистру? - PullRequest
1 голос
/ 06 мая 2010

Я хочу обнаружить неправильное написание слова "FooBar" в предложении:

"Это пример 'FooBar', где я должен сопоставить различные варианты написания fooBar, такие как foobar, FOOBAR или даже fOoBaR, но не foobarS! "

В этом предложении я бы хотел сопоставить слова (по порядку): fooBar, foobar, FOOBAR, fOoBaR и не: FooBar (правильное написание), foobarS (не то же самое слово)

Существует ли существующее решение, использующее регулярное выражение Perl? Это предназначено для использования с grep -P

Спасибо

Ответы [ 3 ]

4 голосов
/ 06 мая 2010
echo "$str" | grep -P '\b(?!FooBar)(?i:foobar)\b'
1 голос
/ 06 мая 2010
(?<=^|\W)(?!FooBar)(?i)foobar(?=\W|$)
0 голосов
/ 06 мая 2010

кошка foobar.txt | grep -P '(?! FooBar) [fF] [oO] [oO] [bB] [aA] [rR]'

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