【问题标题】:Find First Vowel Using Regex (Javascript)使用正则表达式 (Javascript) 查找第一个元音
【发布时间】:2017-01-25 16:13:16
【问题描述】:

我正在尝试创建一个猪拉丁语转换器,它在第一个元音处拆分字符串,并用第二个子字符串切换第一个子字符串(例如 dog -> ogd)。

以下正则表达式代码适用于单个元音字符串,但是当尝试翻译具有多个元音的单词时,它会在最后一个元音处拆分字符串:

string.replace(/(\w+)([aeiou]\w+)/i, '$2$1')

在单词“meaning”上运行此代码会导致“ingmean”(在“i”上拆分),而我期望返回“eaningm”(在“e”上拆分)

谢谢!

【问题讨论】:

  • 您可能想要具体说明您尝试获得的 exact 输出
  • @musefan 我希望返回“eaningm”

标签: javascript regex string split


【解决方案1】:

您需要添加惰性 (?) 运算符:

string.replace(/(\w+?)([aeiou]\w+)/i, '$2$1')

【讨论】:

    【解决方案2】:

    这应该可以解决问题

    /([^aeiou]+)([aeiou])([a-zA-Z]+)/
    

    并使用

    $2$3$1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      相关资源
      最近更新 更多