Я хочу найти способ сопоставления строки в определенном шаблоне: <not 'self'>._<something>
.
Этот шаблон должен соответствовать этим строкам
object._attr
a._aaa
И любым другим строкам с этим шаблономДо тех пор, пока первая часть перед точкой ('object' и 'a') не пуста и не является литеральной строкой 'self'. И вторая часть после подчеркивания ('attr' и 'aaa') не должна быть пустой и должна содержать только символы слова. Так что self._attr, object._
не будет сопоставлено.
В настоящее время я пытаюсь использовать отрицательный прогноз, как этот
(?!self)\._(\w+?)
Но проблема в том, что этот шаблон все еще соответствует self._attr
,так как отрицательный прогноз соответствует пустой строке перед точкой.
Как на самом деле указать, что первая часть шаблона должна быть непустой.
Надеюсь, я сформулировал свой вопросхорошо.
Спасибо всем