2014-01-29 57 views
1

我试图做一些相对简单的事情。我只想为City,State设置一个HTML5模式。出于某种原因,这个REGEX暗示了我。正则表达式为城市,州

我在做什么错?

^[a-zA-Z]+(,[ A-Z]+){200,3}$ (City, State) 
+5

'{200,3这是什么? “设置一个HTML5模式”---那么它与'php'有什么关系呢? – zerkms

+0

您的权利,它的HTML5模式。后来我用PHP将字符串分解为两个单独的变量。 – CoveTech

+0

“我后来用PHP将字符串分解为两个单独的变量”---并且您使用的是一个微软鼠标 - 那么我们添加'microsoft'标签呢? – zerkms

回答

2
  1. 您设置最小长度不如这里最大长度,它应该是{3,200}
  2. 我假设你想要的是从3 国家长度约束至200
  3. 你可能想捕捉太多,所以我给你做一个组,跳过逗号

因此,这里的正则表达式怎么貌似现在

^([a-zA-Z]+)(?:,([ A-Z]{3,200}))$ 

UPDATE

如果你想添加的空间来市

^([a-zA-Z ]+)(?:,([ A-Z]{3,200}))$ 
+0

这几乎是完美的。我只是不得不在开始和结束时删除//,但我在纽约,纽约或带空间的城市中遇到问题。我添加了空格,但还没有... ^([a-zA-Z] +)(\\ s +)(?:,([AZ] {3,200}))$ – CoveTech

+0

我更新了我的回答,但请注意,将不得不“修剪”城市和州,因为它可能在开始或结束时有额外的空间(即“纽约市”) – axelduch

+0

我必须检查,但是是的,我这样做。非常感谢你。这工作完美。我甚至尝试过在空间中添加,但我想我是走了。 – CoveTech

相关问题