我需要幫助來完成正則運算式模式。我需要一個模式來匹配包括單位在內的一系列數字。
例子:
- 汽車在路上行駛50,5 - 80 公里/10 分鐘。
- 汽車在路上行駛50,5 - 80 公里/10 分鐘。
- 汽車在路上行駛40,5-80 公里/小時。
- 汽車在路上行駛30-50 公里/小時。
- 汽車在路上以40 - 60.8 公里/小時的速度行駛。
- 汽車在路上行駛40.90-60,8 公里/小時。
我需要匹配整個范圍。(?:km/10min|km / 10min|km/h|km/ h) 也可以簡化這部分,這樣就不必多次列出。所以這里也考慮了空白。
([,.\d] )\s*(?:km/10min|km / 10min|km/h|km/ h)
https://regex101.com/r/Ey792V/1
目前,不幸的是,只有第一個數字是匹配的。在此先感謝您的幫助。
uj5u.com熱心網友回復:
您可以使模式更具體一些,并且可以選擇匹配空白字符,而不是硬編碼所有可能的空格變化
\b\d (?:[.,]\d )?(?:\s*-\s*\d (?:[.,]\d )?)?\s*km\s*/\s*(?:h|10min)\b
解釋
\b一個詞的邊界\d (?:[.,]\d )?將 1 位數字與可選的小數部分匹配(?:非捕獲組\s*-\s*-可選空白字符之間的匹配\d (?:[.,]\d )?將 1 位數字與可選的小數部分匹配
)?關閉非捕獲組并使其可選\s*km\s*/\s*匹配km/用可選的空白字符包圍以匹配不同的變化(?:h|10min)匹配h或10min(或用于\d min匹配 1 位)\b一個詞的邊界
查看正則運算式演示。
uj5u.com熱心網友回復:
\d. (?:h\b|min\b|s\b)
也會作業。演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/469171.html
下一篇:正則運算式忽略引導字符集的單詞
