我需要一個正則表達式匹配一些液體體積,如:如何使正則表達式匹配空間或字符串結束?
water in 17oz container
water in container 17oz
你會如何做一個正則表達式來匹配這些? 我可以做的只是/[0-9]{1,}oz/
,但也會匹配90ozonelayers,並不是它會發生,但我希望它是萬無一失的。
而/[0-9]{1,}oz /
將不會匹配它,如果它在字符串的末尾。
我需要一個正則表達式匹配一些液體體積,如:如何使正則表達式匹配空間或字符串結束?
water in 17oz container
water in container 17oz
你會如何做一個正則表達式來匹配這些? 我可以做的只是/[0-9]{1,}oz/
,但也會匹配90ozonelayers,並不是它會發生,但我希望它是萬無一失的。
而/[0-9]{1,}oz /
將不會匹配它,如果它在字符串的末尾。
[0-9]{1,}oz(\s|\b)
這符合你的兩個字符串,但不匹配上像12ozsdsds
。
編輯:
注意到,所有的解決方案都略有瑕疵,似乎採取的所有東西的結合,最好的可能是這樣的(被盜位來自tenub):
/(?<=\s|^)[0-9]{1,}oz(?=\s|$)/
(使用/g
來匹配所有的事件)。
17oz
- 比賽
abc 17oz def
- 比賽
17ozz
- 敵不過
abc17oz
- 敵不過
簡單。只需使用:
/[0-9]{1,}oz(?= |$)/
匹配34盎司34盎司,在字符串的結尾6盎司,但不是56ozone層。
([0-9]{0,})(\s{0,})(oz{1})(\s{0,}|$)
'\ s'匹配空白(如空格,製表符和新行) –
可能重複的:http://stackoverflow.com/questions/6713310/how-to-specify-space-or-end- string-and-space-or-start-of-string – anderas
'/ [0-9] {1,} oz [\ s $] /'? –