Регулярное выражение, которое будет разрешать только алфавитно-цифровые символы и подчеркивание и определенный заполнитель внутри фигурных скобок - PullRequest
1 голос
/ 04 апреля 2019

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

Допустимые примеры:

test{placeholder}
test_{placeholder}
test_123_{placeholder}
test
test_123
test123
{placeholder}_test
test{placeholder}test
And any combination of above.

Вот что я придумал:

[^-A-Za-z0-9_]|^\{placeholder\}

Я так понимаю:

[^-A-Za-z0-9_] - Запрещено использовать любые другие символы, кроме a-z 0-9 и подчеркивания.

|^\{placeholder\} - Или что-нибудь, что не говорит {заполнитель}

Но это не работает, и я не уверен, почему.

Вот демо

Пожалуйста, помогите.

1 Ответ

1 голос
/ 04 апреля 2019

Вы можете использовать

^(?:[A-Za-z0-9_]|{placeholder})+$

Детали

  • ^ - начало строки
  • (?: - запуск группы без захвата:
    • [A-Za-z0-9_] - слово char: буква, цифра, _
    • | - или
    • {placeholder} - конкретная подстрока
  • )+ - конец группы, повторите 1 или более раз
  • $ - конец строки.

См. Демоверсию regex и график Regulex :

enter image description here

...