我正在尝试做一个简单的正则表达式,我想做的就是匹配单词的单数部分,无论它是否有一个 s 结尾。所以如果我有以下的话
test
tests
编辑:进一步的例子,我需要这对于许多单词来说都是可能的,而不仅仅是这两个
movie
movies
page
pages
time
times
对于他们所有人,我需要得到最后没有 s 的单词,但我找不到一个正则表达式,它总是会在没有 s 的情况下抓住第一位并且适用于这两种情况。
我尝试了以下方法:
([a-zA-Z]+)([s\b]{0,}) - This returns the full word as the first match in both cases
([a-zA-Z]+?)([s\b]{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]+)(s\b) - This works for tests but doesn't match test at all
([a-zA-Z]+)(s\b)? - 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 个单词(它只针对我自己的表格,而不是英语中的每个单词)。
谢谢!- 蒂姆