Regex, который ловит неправильно определенные атрибуты? - PullRequest
0 голосов
/ 25 января 2019

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

В моем случае множественное число = "y" и множественное число = "n" являются единственными двумя правильными определениями, поэтому я хотел бы использовать все другие возможности, такие как:

plural="no"
plural="m"
plural="yn"
plural="mu"
plural="hahahhaaha"

и т. Д..

1 Ответ

0 голосов
/ 25 января 2019

Вы можете использовать это регулярное выражение, чтобы выбрать любую строку, отличную от plural="y" и plural="n"

\bplural="(?![yn]")[^"]+"

Объяснение регулярного выражения:

  • \b - Граница слова, чтобы избежать совпадения во множественном числе частично в большей строке
  • plural=" - Соответствует этому тексту буквально
  • (?![yn]") - Этот негативный взгляд гарантирует, что он отбрасывает совпадение, если текстследует либо y", либо n"
    • [^"]+" - соответствует одному или нескольким любым символам, а затем, наконец, соответствует "

Демо

С другой стороны, если вы просто хотите сопоставить plural="y" и plural="n", вы можете использовать это регулярное выражение,

\bplural="[yn]"

Демо

...