首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的Regex模式,从其过去的形式中提取英语单词到现在,反之亦然.?

PHP中的Regex模式,从其过去的形式中提取英语单词到现在,反之亦然.?
EN

Stack Overflow用户
提问于 2015-10-29 07:59:45
回答 1查看 123关注 0票数 0

我正在寻找一个PHP正则表达式模式,它可以将英语单词从其过去的形式提取到现在,连续的形式从现在到现在,反之亦然。

例如:想要->,玩->游戏,煮->厨师

烹饪->煮熟,玩->玩..。

还有:照顾->,玩->游戏,烹饪->厨师

关心->关怀,玩->游戏等等.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-29 08:18:26

如果您可以将您的单词识别为动词,则您的第一个要求非常容易:

代码语言:javascript
复制
$present_tense = preg_preplace('/(ed)$/', '', $word);

但是,即使是连续形态的前两个例子也显示出不正常的行为:由于关心,增加e以获得照顾,使用play,只有-ing被移除。

如果有单词列表,则可以生成模式->替换数组,可以在单个替换()调用中使用该数组:

代码语言:javascript
复制
$patterns = array();
$patterns[0] = '/\\bcare\\b/i';    // these can be automatically
$patterns[1] = '/\\bplay\\b/i';    // generated if you have only the
$patterns[2] = '/\\bcook\\b/i';    // words in an array
$replacements = array();
$replacements[2] = 'caring';
$replacements[1] = 'playing';
$replacements[0] = 'cooking';
$present_tense = preg_replace($patterns, $replacements, $sentence);

这也适用于句子,因为要更改的单词是已知的,可以由正则表达式来选择。替换在这里不合适,因为它不能识别单词边界。

这就是你可以用雷克斯做的事。为了获得更完整的解决方案,您必须搜索更复杂的库,就像上面的注释中提到的那样。

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

https://stackoverflow.com/questions/33408745

复制
相关文章

相似问题

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