之前,請考慮以下字符串:正則表達式匹配的複數詞用數字
20 mins
我想創建的PHP能夠找到使用preg_match()
這樣的字符串的正則表達式。表達式應該具有足夠的動態性,以便能夠識別前面數字值的非複數和更多選項。例如,下面的例子也應該匹配:
1 min
0.5 mins
999 mins
我已經用下面的嘗試,但它不執行:
(^|\b)[0-99999*]\/b\min[s]?\b
之前,請考慮以下字符串:正則表達式匹配的複數詞用數字
20 mins
我想創建的PHP能夠找到使用preg_match()
這樣的字符串的正則表達式。表達式應該具有足夠的動態性,以便能夠識別前面數字值的非複數和更多選項。例如,下面的例子也應該匹配:
1 min
0.5 mins
999 mins
我已經用下面的嘗試,但它不執行:
(^|\b)[0-99999*]\/b\min[s]?\b
你可以使用這種模式:
\b[0-9]+(?:\.[0-9]+)?\smins?\b
注意:您可以通過\s+
注2允許更換\s
的數量和「分鐘」之間的多個空格:一個字符類與字符的包,寫[0-99999*]
有沒有意義。 See the manual。
謝謝,這個伎倆。 – BenM
這種模式:
\b\d+(?:\.\d+)? mins?\b
應該適應所要包括這些情形:
•1 min
•0.5 mins
•999 mins
•0.51213123 mins
•2352352.51213123 mins
如果我可能會問,這些是什麼:'(^ | \ B)'? '[0-99999 *]'? '\/B' ?? '\ M'?編寫每個部分可能更容易,並查看它是否工作。 – Kobi