我正在尝试用正则表达式来匹配以相同元音开头和结尾的单词。我的问题是,这是一个优雅的无所不包的解决方案还是我错过了什么?到目前为止,这是我快速绞尽脑汁后出现的情况。我首选的环境是没有特殊库等的javascript / python。感谢您提供有用的建议。
SOLN。 2)re = /(^ [aeiou])[a-zA-Z] + \ 1 / i;
的console.log(re.test( “ABCDA”)); //真
答案 0 :(得分:6)
可以使用单词边界\b
来匹配单词:
var re = /\b([aeiou])[a-z]+\1\b/i;
正则表达式匹配:
\b
- 前导词边界(因为它后面的模式与单词字符匹配)([aeiou])
- 第1组捕获指定范围内的元音[a-z]+
- 一个或多个字母(自使用/i
修饰符以来都是大写和小写)\1
- 对第一组捕获的元音的反向引用\b
- 尾随字边界答案 1 :(得分:0)
var re = /\b([aeiou])[a-z]+\1\b/i;
如果字符串是“aa”,则给出false。字符串以相同的元音开头和结尾。