Regex 不以元音开头或结尾的单词的正则表达式?
我使用了这个正则表达式:Regex 不以元音开头或结尾的单词的正则表达式?,regex,regular-language,Regex,Regular Language,我使用了这个正则表达式:^[aeiou](\w|\s)*[aeiou]$ 用于以元音开头和结尾的单词,效果很好 但是当我使用这个正则表达式时: ^[^aeiou](\w |\s)*[^aeiou]$对于不以元音开头和结尾的单词,它不起作用。你能告诉我我的第二个正则表达式出了什么问题吗 单词类似于: 南不列颠 河流交汇处 云雀普尔 南港 康普顿 菩提树 塞奇威克 休谟顿 西尔 黑豹烧伤 select distinct(city) from station WHERE regexp_like(c
^[aeiou](\w|\s)*[aeiou]$
用于以元音开头和结尾的单词,效果很好
但是当我使用这个正则表达式时:
^[^aeiou](\w |\s)*[^aeiou]$
对于不以元音开头和结尾的单词,它不起作用。你能告诉我我的第二个正则表达式出了什么问题吗
单词类似于:南不列颠
河流交汇处
云雀普尔
南港
康普顿
菩提树 塞奇威克
休谟顿
西尔
黑豹烧伤
select distinct(city) from station
WHERE regexp_like(city, '^[^aeiou](\w|\s)*$', 'i')
OR regexp_like(city, '^(\w|\s)*[^aeiou]$', 'i');
问题是问“以结尾或以开头”,你可以在正则表达式中这样做,但我在
WHERE
子句中作为或这样做,如果我理解所需的逻辑,如果你碰巧想要一个正则表达式,我会使用类似的东西/(^[aeiou](\w |\s)*)|((\w |\s)*[aeiou]$)/i
。当然,这不是最可读的格式,但应该只抓取以非元音开头和结尾的单词。您的正则表达式引擎不区分大小写吗<代码>[A]!=[a]
是的,我已经应用了不区分大小写的修饰符来为我工作。你能发布你用来测试这些的代码吗?什么语言?实际上我正在尝试解决这个问题:我正在运行这个查询从regexp_喜欢的站点中选择不同的(城市),^[^aeiou](\w |\s)*[^aeiou]$,“i”)代码>是基于oracle的。我使用的是:^([^aeiou](\w\124;\ s)*)|((\w\124;\ s)*[^aeiou])$
,这很有效。我试图在regexr.com中实现这一点,但我认为您必须考虑到$
前面的\r
字符,而且它变得越来越混乱。@Antara Roy--我刚刚看到您对bradlis7的评论,您在那里采取了类似的方法。