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]
-字符串的结尾$
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$/