Исключите слово из регулярного выражения, используя массовое редактирование PHP и YITH

Я новичок в PHP и Regex, я пытаюсь исключить слово из поиска, используя Yith Bulk Editing Woocommerce и WordPress.

Теперь я заплатил за плагин, но поддержка очень медленная и совсем не помогает.

Когда я использую регулярное выражение для поиска продуктов, у меня их более 10000.

Например, у меня есть крепежные шестигранные гайки, более 3500 из них. Я хотел бы исключить все шестигранные гайки, в названии которых есть нейлон. поэтому я использовал следующее в поиске Hex Nut.?+(?!Nylon).?+$но это не дает мне никаких продуктов, я наткнулся на веб-сайт https://regex101.com/ , который поможет вам отладить ваше регулярное выражение, но для тех, кто сейчас к нему, это не работает.

Я пробовал следующее

      Hex Nut.?+(?!Nylon) - No Results

Hex Nut.?+(?:Nylon) - No Results

Hex Nut.?+(?:Nylon) - No Results

Hex Nut^/(?!Nylon)  - No Results

Платформы следующие

Массовое редактирование продуктов YITH WooCommerce — версия 1.2.29

Woocommerce — версия 4.9.0

WordPress — версия 5.6

1 ответ

Ответ ^Hex Nut(?!.*\bNylon\b).*$см. https://regex101.com/r/0H1Tig/1

Мне нужно было использовать границу слова, чтобы заставить ее работать, насколько я могу судить, это то же самое, что и двойные кавычки.

\b Соответствует, не потребляя никаких символов, непосредственно между символом, совпадающим с \w, и символом, не совпадающим с \w (в любом порядке). Его нельзя использовать для отделения не слов от слов.

Другие вопросы по тегам