我想要做什麼應該是一個簡單的正則表達式,我所要做的就是匹配一個單詞的單數部分,不管它是否有s最後。所以,如果我有以下的話正則表達式 - 如何搜索單數或複數形式的單詞
test
tests
編輯:進一步的例子,我需要這對很多話有可能不只是這兩個
movie
movies
page
pages
time
times
對於所有的人,我需要得到這個詞沒有結束,但我找不到一個正則表達式,總是會在沒有結束的情況下抓住第一位,併爲這兩種情況工作。
我已經試過如下:
([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個單詞(它只針對我自己的表格運行,而不是英語中的每個單詞)。
謝謝! 蒂姆 -
你想要一個特定的單詞匹配,或任意的單詞?此外,它並不總是* s *,有時它是* es *。 – R0MANARMY 2012-07-10 02:04:18
英文複數形式,即使不包括不規則形式,也不像刪除's'那麼簡單。你會如何處理諸如「西紅柿」或「派對」或「葉子」(葉子)的情況? – nhahtdh 2012-07-10 02:04:22
是的,我意識到,在這種情況下,我只有幾個字,這個正則表達式將被用來反對,所有有/沒有結束。 – Tim 2012-07-10 02:05:59