Regex заменяет шаблон формата строкой, чтобы результатом была форматированная строкаPhp

Кемеровские программисты php общаются здесь
Anonymous
Regex заменяет шаблон формата строкой, чтобы результатом была форматированная строка

Сообщение Anonymous »

В основном у меня есть следующее:
  • входная строка (например, ABCDEFGHI)
  • входной шаблон (например, XXX-XXX-XXX)
и результат, который я хочу видеть, это ABC-DEF-GHI

Я представляю, что это происходит примерно так "XXX-XXX-XXX".replace("regex", "ABCDEFGHI");

Загвоздка в том, что шаблон является динамическим. Это может быть XXX-XXX-XXX или XX-XXXX-XXX или любая другая комбинация, которая может включать любой специальный символ, но соответствующий символ всегда равен X.

Шаблон не ограничен по длине или количеству групп, разделенных специальными символами.
т.е. XX-X-X и XXX-XXX-XXX-XXX-X являются допустимыми шаблонами, если в качестве входных символов содержится одинаковое количество X.

На данный момент у меня есть это: "/^([^a-zA-Z0-9]*X){9}[a-zA-Z0-9]*$/", который проверит мой шаблон.

Может ли кто-нибудь пролить свет на этот вопрос? Есть ли способ заменить один совпавший символ из шаблона одним символом из строки?

Вернуться в «Php»