Этот вопрос является продолжением моего предыдущего одного . У меня есть вектор строк. Некоторые элементы вектора (строки) содержат заданную c аббревиатуру «SA» и ее вариацию с точками и без них, а также с несколькими пробелами.
dino polska s.a.
elita sp.c. zofia szatkowska, tomasz szatkowski #shouldn't be subseted
studio urody "julia" renata kochańska #shouldn't be subseted
ccc s. a.
ls airport services sa
restauracja aleksandra odejewska #shouldn't be subseted
firma handlowa "eden ii" krystyna konowalska #shouldn't be subseted
auto land polska s a
Для того, чтобы подмножество строк соответствовало условию (содержит «sa» "Аббревиатура) Я использовал следующий код:
subset(df, grepl('.s.?.a.?', col_1))
Обычно это работает, но он также поднабор строк, которые не содержат аббревиатуру. Я также пытался улучшить свой код регулярного выражения
'^.s.?.a.?&'
'^(.s.?.a.?)&'
'\\s+.s.?.a.?'
'\\.s.?.a.?'
Но это не работает. Мой вопрос заключается в том, существует ли что-то вроде якоря для регулярного выражения, чтобы подчеркнуть, что я ищу отдельное слово / выражение, а не его часть. Аббревиатура должна восприниматься как отдельное слово, а не как часть слова, и следует избегать чего-то вроде kochań SKA (.s.?.a.?
).