用户应该能够通过城市昏迷状态或城市空间状态输入城市和州。我想解决一个问题。这种正则表达式。
/^[A-Za-z]+(\s?)+[,\s](\s?)+[A-Za-z]{2,}$/
以下所有输入都应返回true。但是正则表达式失败了。
纽约,纽约真实
纽约纽约错误
Seattle WA true
西雅图,华盛顿州
Winston Salem,NC false
Winston Salem NC false
答案 0 :(得分:6)
你需要这些成分:
Word = [A-Za-z]+
Space = [ ]
CityName = Word (?:Space Word)*
StateAbbrev = [A-Za-z]{2}
Everything = (CityName) ,? Space (StateAbbrev)
将这些结合在一起,你的正则表达式是:
/([A-Za-z]+(?: [A-Za-z]+)*),? ([A-Za-z]{2})/
每当此模式匹配时,您可以将城市名称和状态提取为捕获组1和2。