正则表达式 – 如何搜索单词或复数版本的单词[复制]
发布时间:2020-12-14 05:38:53 所属栏目:百科 来源:网络整理
导读:参见英文答案 Regex search and replace with optional plural????????????????????????????????????4个 我正在尝试做一个简单的正则表达式,我想做的就是匹配一个单词的奇异部分,无论它是否有一个s结尾.所以,如果我有以下的话 testtests 编辑:进一步的例子,
参见英文答案 >
Regex search and replace with optional plural????????????????????????????????????4个
我正在尝试做一个简单的正则表达式,我想做的就是匹配一个单词的奇异部分,无论它是否有一个s结尾.所以,如果我有以下的话 test tests 编辑:进一步的例子,我需要这个可能很多单词而不仅仅是那两个 movie movies page pages time times 对于所有这些我需要在没有结束的情况下得到单词,但是我找不到一个正则表达式,它总是会抓住第一位而没有结尾的s并且适用于两种情况. 我尝试过以下方法: ([a-zA-Z]+)([sb]{0,}) - This returns the full word as the first match in both cases ([a-zA-Z]+?)([sb]{0,}) - This returns 3 different matching groups for both words ([a-zA-Z]+)([s]?) - This returns the full word as the first match in both cases ([a-zA-Z]+)(sb) - This works for tests but doesn't match test at all ([a-zA-Z]+)(sb)? - This returns the full word as the first match in both cases 我一直在使用http://gskinner.com/RegExr/试用不同的正则表达式. 编辑:这是一个崇高的文本片段,对于那些不知道崇高文本片段的人是一个快捷方式,以便我可以键入说我的数据库的名称并点击“运行片段”,它会把它变成一些东西喜欢: $movies= $this->ci->db->get_where("movies",""); if ($movies->num_rows()) { foreach ($movies->result() AS $movie) { } } 我只需要将“电影”变成“电影”并自动将其插入到foreach循环中. 这意味着我不能只对文本进行查找和替换,我只需要考虑60-70个单词(它只针对我自己的表,而不是英语中的每个单词). 谢谢! 解决方法
好的,我找到了一个解决方案:
([a-zA-Z]+?)(sb|b) 根据需要工作,然后你可以简单地使用第一个匹配作为单词的无法使用的版本. 谢谢@Jahroy帮助我找到它.我添加了这个作为未来冲浪者的答案,他们只想要一个解决方案,但请查看Jahroy的评论以获取更多深度信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |