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]*$/", который проверит мой шаблон.

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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