首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于正则表达式的元音结束检测

问基于正则表达式的元音结束检测
EN

Stack Overflow用户
提问于 2010-12-17 09:51:04
回答 2查看 2.8K关注 0票数 0

使用正则表达式,如何测试给定字符串的最后一个字符以进行匹配?

我想检查某件事是否以下列任何一项结尾:

代码语言:javascript
复制
vowel+consonant ("like 'ur' in devour")
vowel+'nt' ("paint")
vowel+'y' ("play")

还有一些类似的。

我如何使用正则表达式(在Java中)来完成这个任务?

​

编辑:我将如何使用正则表达式来判断一个动词是否以模式结尾?

​

代码语言:javascript
复制
consonant-'e'

或其他各种组合,如

代码语言:javascript
复制
'ss' 'x' 'sh' 'ch' (sibilants)

以使它们在英语中恰当地结合为动词。

EN

回答 2

Stack Overflow用户

发布于 2010-12-17 09:59:47

我想这是你想要的表达。第一位检查元音,第二位检查任何辅音或“nt”。

[aeiou]([^aeiou\W\d]|nt)$

我已经在http://regexpal.com/上检查过了,这是我通常的测试工具。[^aeiou\W\d]的意思是“any不是元音,是α-数字,但不是数字”。可以用所有的辅音代替,我想:

[aeiou]([bcdfghjklmnpqrstvwxyz]|nt)$

请注意,这会忽略除所列字符以外的任何字符的可能性。它还测试小写,但我不知道如何在Java中执行不区分大小写的正则表达式。

票数 2
EN

Stack Overflow用户

发布于 2010-12-17 09:57:30

您需要这样的正则表达式

代码语言:javascript
复制
^.*[aeiou]([^aeiou]|nt)$

哪一个或多个字符,后面跟着a,e,i,o和u中的一个,后面跟着一个不是元音的字符,或者是nt。

正如注释中所指出的,除非假设只使用alpha字符,否则[^aeiou]不会按预期执行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4469318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档