为什么正则表达式不能匹配Richtextbox1中的邮政编码模式

时间:2013-07-04 21:29:06

标签: c# regex match zipcode

为什么在richtextbox1中找不到邮政编码模式?不能正则表达式看看richtextbox并找到它吗?

这是我使用的代码:

string text = richTextBox1.Text.ToString();
Regex regex = new Regex(@"^\d{5}(?:[-\s]\d{4})?$");

foreach (Match match in regex.Matches(text))
{
    richTextBox2.Text += match;
}

这是richtextbox1

中的文字
Mr. Underpants
6666 E River Park Dr
South Lake, CA 96150-5117
United States

1 个答案:

答案 0 :(得分:1)

问题是你是通过使用输入(^)的开头和输入结束($)元字符来“锚定”正则表达式。

你所说的,在本质上,是没有匹配的但是没有邮政编码(没有周围的文字)。只需删除锚定字符,您的解决方案就可以运行:

\d{5}(?:[-\s]\d{4})?