【发布时间】:2017-11-07 14:34:05
【问题描述】:
我目前有一个正则表达式来检查美国各州的拼写是否正确var r = new Regex(string.Format(@"\b(?:{0})\b", pattern), RegexOptions.IgnoreCase)
pattern 是一个以竖线分隔的字符串,包含美国的所有州。
它今天按预期工作,直到其中一个州被拼写为“佛罗里达......”我希望它能够了解有一个句号字符的事实。
我发现这个正则表达式只会匹配字母。
^[a-zA-Z]+
如何将它与我当前的正则表达式结合起来,还是不可能?
我尝试了一些变体,但没有成功
var r = new Regex(string.Format(@"\b^[a-zA-Z]+(?:{0})\b", pattern), RegexOptions.IgnoreCase);
编辑:Florida.. 在我的输入字符串中。我的模式字符串根本没有改变。抱歉没有更清楚。
【问题讨论】:
-
如果列表中有名称,为什么还要使用正则表达式?
-
如果文本中有
Florida..,您的\b(?:Florida|Washigton|...)\b仍然会匹配它。 -
这个
Florida..字符串是否开始出现在pattern或使用r正则表达式检查的输入字符串中? -
@DmitryEgorov
Florida..出现在输入字符串中。pattern中的字符串永远不会改变。抱歉没有更清楚