php:如何用掩码regexp交换字母

时间:2017-10-29 14:28:36

标签: php regex

在以辅音簇或辅音开头的单词中,我需要使用regexp将辅音(簇)放在单词的末尾。

例如:bbber-> er-bbbbert->ert-bavokado->avokado

//if word begins with consonant letter
if (preg_match("/\b[b-df-hj-np-tv-xz]/i", $word)) {
            return preg_replace(??????);
        }

1 个答案:

答案 0 :(得分:3)

您可以使用preg_replace

$repl = preg_replace('/^([b-df-hj-np-tv-xz]+)([a-z]+)$/i', '$2-$1', $input);

RegEx Demo

RegEx分手:

  • ^:开始
  • ([b-df-hj-np-tv-xz]+):匹配并分组辅音的起始块
  • ([a-z]+):匹配并分组其余字母
  • $:结束

替换$2-$1,它基本上会改变原始字符串中字母的顺序。