0
說我有幾個字符串分隔的數字,如:第2個小組由特定字符
N00E001
N00W001
N00E002
什麼是要找到數字這兩個羣體中的每個串最好的正則表達式?
我不是最好的正則表達式。這是我目前的工作:(\d+)[W|E](\d+)
。
說我有幾個字符串分隔的數字,如:第2個小組由特定字符
N00E001
N00W001
N00E002
什麼是要找到數字這兩個羣體中的每個串最好的正則表達式?
我不是最好的正則表達式。這是我目前的工作:(\d+)[W|E](\d+)
。
"(\d+)[W|E](\d+)"
也將匹配"N00|001"
。
所以
"(\d+)[WE](\d+)"
應該做的罰款。
如果你總是完全一樣的格式,你可以使用一個更嚴格的正則表達式:
"\A[NS]\d{2}[WE]\d{3}\Z"
這將匹配:
整場比賽應該是完整的字符串。例如,"Location N00W001"
不匹配。
import re
strings = ["N00E001", "N00W001", "N00E002"]
pattern = re.compile("\A[NS]\d{2}[WE]\d{3}\Z")
print all(pattern.match(string) for string in strings)
# True
那麼,有沒有與你的正則表達式的任何問題嗎? – Kasramvd
您不需要選項內的'|'('[]')。 – Jules
字符串是否始終是孤立的,或者它們在較大的字符串中找到('blah blah N00E001 blah'')?字符串是否總是七個字符?是否有像'N00X001'這樣的字符串,你不想匹配?如果你的字符串總是7個字符,那麼'EW'中的if [3]:numbers = s [1:3] + s [4:]'。如果所有的字符串都很好,那麼你可以放棄if子句。 –