/ / Знайдіть початкові символи та спеціальні символи в рядку - регулярний вираз, рядок

Знайдіть початкові символи та спеціальні символи в рядку String - regex, string

Я є новим для RegEx і повинен скласти RegEx, який знайде відповідні символи в рядку.

Можливі рядки, які я міг отримати:

DFG-2344KG
4GGRTE/345
9TTRRE-547
7TTRRE-547
T89FGFGD+9

Так що я хочу, це RegEx, який перевірить, чи починається рядок DFG або 4 або 7 або Т. І це має тільки "-"для спеціальних символів, відмінних від буквено-цифрових символів.

Отже, з переліченого вище списку струн тільки 9TTRRE-547 буде дійсним рядком.

Я шукаю RegEx, який може це зробити для мене. До цих пір я придумав:

^ (DFG | T | 4 | 7)

Вищезазначений RegEx правильно знаходить недійсні початкові символи. Тепер завдання - знайти спеціальний символ, відмінний від "-", який може статися десь у рядку.

Будь-які пропозиції?

Відповіді:

1 для відповіді № 1

Я спробую з:

^(DFG|4|7|T)[A-Z0-9-]+$

Це саме те, що ви дотепер разом [A-Z0-9-]+ щоб вказати: "будь-який буквено-числовий символ або -. Кажучи + ми маємо на увазі, що це відбувається один або кілька разів.

Потім, $ для позначення кінця рядка.

Ви можете бачити, як він працює https://regex101.com/r/mX5kV8/1 з цими матчами:

DFG-2344KG
7TTRRE-547
7TTRRE547