【发布时间】:2020-12-08 02:15:58
【问题描述】:
我想编写一个 PCRE 风格的正则表达式,它可以匹配三个或更多字母的序列,其中元音和辅音相邻。
到目前为止,我需要使用两种模式来说明两个相邻字符的实际位置。
/([aeiou][b-df-hj-np-tv-z]|[b-df-hj-np-tv-z][aeiou])[a-z]/i
/[a-z]([aeiou][b-df-hj-np-tv-z]|[b-df-hj-np-tv-z][aeiou])/i
有没有可能我遗漏了什么,而这实际上可以用一个表达式来完成?
【问题讨论】:
-
你需要捕获这3个字母吗?或者只是测试字符串中是否出现这种情况?
-
/[a-z](?:([aeiou])([b-df-hj-np-tv-z])|(?2)(?1))/i -
@Wiktor 太棒了,这更短,对我有用。
标签: regex