[英]Match 2 groups of numbers separated by specific characters
说我有一些字符串,例如:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.