Regex 将单词的开头和结尾与元音匹配的正则表达式

Regex 将单词的开头和结尾与元音匹配的正则表达式,regex,Regex,我正在尝试使用以下Regex: /^[aeiou]\..*[aeiou]$/ 但它不起作用,我测试了“abcda”,但不匹配。应该是: /^[aeiou].*[aeiou]$/ 额外的\.要求第二个字符为文字点,如:“a.hello”。但由于您的测试用例“abcda”不包含这样的点,所以它不匹配 请注意,如果还希望匹配大写元音,可以添加i修饰符,如下所示: /^[aeiou].*[aeiou]$/i 如果您的目的是只匹配结尾元音与开头元音相同的字符串,则使用后向引用\1,如下所示: /^(

我正在尝试使用以下
Regex

/^[aeiou]\..*[aeiou]$/
但它不起作用,我测试了“abcda”,但不匹配。

应该是:

/^[aeiou].*[aeiou]$/
额外的
\.
要求第二个字符为文字点,如:“a.hello”。但由于您的测试用例“abcda”不包含这样的点,所以它不匹配

请注意,如果还希望匹配大写元音,可以添加
i
修饰符,如下所示:

/^[aeiou].*[aeiou]$/i
如果您的目的是只匹配结尾元音与开头元音相同的字符串,则使用后向引用
\1
,如下所示:

/^([aeiou]).*\1$/i

我认为这个正则表达式最适合你:

/^a.*a$|^e.*e$|^i.*i$|^o.*o$|^u.*u$/

试试这个:
/[aeiou]+[a-z]+[aeiou]+/i

以元音开头和结尾的Regex

^[aeiou].*[aeiou]$

Regex表示单词的开头和结尾具有相同的元音

^[a].*[a]$|^[e].*[e]$|^[i].*[i]$|^[o].*[o]$|^[u].*[u]$
以元音开头和结尾的单词
\b
表示单词边界(在本例中,是单词的开头和结尾)。可选的分组
()?
用于匹配单元音单词(对于葡萄牙语这样的语言来说,使用
o
a
e
甚至是英语单词
I
非常重要)

以相同元音开头和结尾的单词
\b(?[aeiou])(\w*\k)?\b
不要试图为某个值替换
。它只是用来捕捉匹配的元音。

这将起作用:

/^([aeiou]).+\1$/
这对我很管用

你可以试试这个

var re = /^([a,e,i,o,u]).*\1$/;

*\1 backreference和$用于结尾。

以相同元音开头和结尾的单词的正则表达式为:

var re = /(\ba(\w+)a\b|\be(\w+)e\b|\bi(\w+)i\b|\bo(\w+)o\b|\bu(\w+)u\b)/g;
var re = /\b[aeiou]\w+[aeiou]\b/gi;
而以任何元音开头和结尾的单词的正则表达式是:

var re = /(\ba(\w+)a\b|\be(\w+)e\b|\bi(\w+)i\b|\bo(\w+)o\b|\bu(\w+)u\b)/g;
var re = /\b[aeiou]\w+[aeiou]\b/gi;

事实上,现有的答案中没有一个涵盖了单元音的情况

以任何元音开头和结尾: 分项说明:

  • ^[aeiou]$
    • ^
      -字符串的开头
    • [aeiou]
      -只有一个元音
    • $
      -字符串的结尾
  • |
    -或:
  • ^[aeiou].[aeiou]$
    • ^
      -字符串的开头
    • [aeiou]
      -只有一个元音
    • *
      任意-零或更多
    • [aeiou]
      -只有一个元音
    • $
      -字符串的结尾
以一个相同的元音开始和结束 e、 g匹配
aba
,但不匹配
abe
。我们可以回溯到第一个元音:

/^[aeiou]$|^([aeiou]).*\1$/

如果有人在找正则表达式“以相同的元音结束和开始” 这是代码

/^([a|e|i|o|u]).*\1$/

为什么第一堂课和最后一堂课之后需要
+
?OP只需要一个元音。+表示需要一个或多个字符来组成字符串。您还可以指定所需的字符数。
+
的含义是正确的。您有3个类,首先是所有元音
[aeiou]
,然后是所有字母
[a-z]
,然后是所有元音。我理解你为什么在中产阶级后面加一个
+
,以获得所有的中间字符。我不明白为什么第一个和最后一个类需要
+
?在第一个和最后一个类中,+表示字符串应该以元音开头,并且必须以元音结尾。这也匹配不一定以元音开头或结尾的输入,由于此模式在与其他元音匹配之前只会查找第一个元音。请添加此解决方案的原因和工作方式的解释。它将检查单词是否以元音开头和结尾,如果是,则只有它会通过,否则不会通过。这个“解释”不是我想的。但是,您应该通过编辑答案将解释添加到答案中。“简洁是可以接受的,但更完整的解释更好。”:请提供一个完整的解释,例如\1的用途,为什么要复制/粘贴?哦,我的搜索中没有出现这个问题,这个帖子出现了,答案对我不适用,所以我创建了我的,并认为在这里分享会很好。但是现在既然提到了,我应该删除它吗?
/^[aeiou]$|^([aeiou]).*\1$/
/^([a|e|i|o|u]).*\1$/