Я борюсь с определенным регулярным выражением, которое мне нужно передать в grep -E
в простом английском, регулярное выражение должно соответствовать слову, если оно соответствует обоим этим двум условиям:
слово начинается с начала строки ИЛИ начинается с пробела или любого из следующих символов "'` (,:; <[{| ~ </p>
слово оканчивается на "'),:;>]`} | ~ или пробел, ИЛИ в конце строки.
####should be matched#### ignore the red text#########3
suvoo:
:suvoo:
suvoo
suvoo:
suvoo'
suvoo`
`suvoo`
"suvoo"
'suvoo:
'suvoo "ghj
'suvoo
[suvoo~
{suvoo'
his name was `suvoo'
his name is suvoo and he is 25
####shouldnt be matched####
asddsuvooaed
:suvo@abc:
suvooo
1suvoo
suvoo1:
Я не уверен, почему моя команда ничего не соответствует, возможно, я неправильно понял, что нужно экранировать и т. Д.
grep -Einr "(^|[[:space:][\"'(,:;<[\`{|~]])suvoo([[:space:][]\"'),:;>\`}|~]]|$)" .