различать два одинаковых текста с помощью регулярных выражений - PullRequest
0 голосов
/ 11 октября 2019

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

XXX_XXX.XXX_XXX

или

XXX_XX_XX.XXX_XX_X_XXX

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

До сих пор я могу писать

([\w.]+)

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

1 Ответ

2 голосов
/ 11 октября 2019

(?!.*_Struct\.)^(?:\w|\.)+$

Это регулярное выражение соответствует слову в одной строке, если в нем не отображается _Struct..

  • (?!.*_Struct\.) Подтвердить _Struct. отсутствует в совпадении.
  • ^(?:\w|\.)+$ Между началом и концом строки сопоставляйте любой символ слова или точку столько раз, сколько необходимо (но хотя бы один раз).

Демо

...