Всем привет. Когда я использовал ключевые слова для автоматической отметки постов, содержащих определённые слова, обнаружил, что система помечает и те посты, в цитатах которых есть эти слова. Я попытался использовать регулярные выражения, чтобы избежать этого. Но есть ли у вас более удачные идеи?
Например:
[quote="好?, post:35, topic:197290, username:思源 xi 路"]
回购率蹭蹭上去。
[/quote]
Когда я ищу “xi”, система распознаёт “思源 xi 路”. Это сильно беспокоит нашу команду.
Вот регулярное выражение, которое я использовал:
(?<![a-zA-Z0-9])xi(?![a-zA-Z0-9 路])
Можно ли создать регулярное выражение, которое не будет помечать посты внутри цитат? Спасибо!
Более того, я надеюсь, что регулярное выражение будет распознавать содержимое цитаты, а не имя или имя пользователя.
Я пытался решить эту проблему множеством способов, но, похоже, ChatGPT не может мне помочь. Может ли это быть связано с регулярными выражениями в Ruby?
Вы хотите, чтобы люди могли избегать ваших предупреждений
Я думаю, что регулярное выражение, скорее всего, ограничено строкой, поэтому вы не сможете использовать его для определения, находится ли строка внутри цитаты. Возможно, я ошибаюсь.
РЕДАКТИРОВАНИЕ: Я неправильно понял.
Вы просто хотите избегать помечать содержимое внутри тега [quote ... ], а не сам тег.
Таким образом, я понимаю это как то, что должно/не должно игнорироваться:
[quote="игнорировать эту часть, пост:xyz, тема:abc, имя_пользователя:игнорировать_это_тоже"]
Не игнорируйте это
[/quote]
Определённо не игнорируйте это