首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用正则表达式查找复音词

使用正则表达式查找复音词
EN

Stack Overflow用户
提问于 2013-01-22 22:15:29
回答 1查看 281关注 0票数 0

我正在尝试使用regexp来查找一段文本中的多音节单词的数量,我的代码大部分时间都可以工作,但不能识别一些多音节单词:

代码语言:javascript
运行
复制
polySyllableCount = lWords2.replace(/(?:[^laeiouy\s]es|ed|[^laeiouy\s]e)$/, '');

是我用来计算音节的,还有

代码语言:javascript
运行
复制
polySyllableCount = lWords2.replace(/^y/, '');

替换前导Y,这样它们就不会被计算在内,

最后:

代码语言:javascript
运行
复制
try 
{
polySyllables = polySyllableCount.match(/[aeiouy]\S[aeiouy]\S[aeiouy]/g).length;
}
catch(err)
{
console.log("No Poly Words")
}

统计复音词的数量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-23 17:11:06

请注意,\S也与标点符号匹配,如。而且,这可能是一些误检的原因。例如:

代码语言:javascript
运行
复制
'ame.na mana miu' //'ame.na' will be treated like one word with your regexp

您可以将\S替换为\w以获得更好的结果。当然,\w也会包括数字,如果你想要真正准确,你可以使用a-z。此外,您还使用了/g开关。您需要将/i添加到其中,以便它也搜索AEIOUY,因此它将

代码语言:javascript
运行
复制
/...regexp.../gi 

您可以在这里了解更多信息: javascriptkit.com/javatutors/redev2.shtml

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

https://stackoverflow.com/questions/14460614

复制
相关文章

相似问题

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