-1

为什么在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
4

1 回答 1

1

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

从本质上讲,您所说的是除了邮政编码之外什么都不匹配(没有周围的文字)。只需删除锚定字符,您的解决方案就可以工作:

\d{5}(?:[-\s]\d{4})?
于 2013-07-04T21:43:54.830 回答