Java Regex Anomaly?

时间:2015-07-17 05:43:16

标签: java regex

我有一个地址列表,如下所示:

bool

我正试图通过Regex从本文中提取街道地址,州,城市和邮政编码。

目前,我使用以下内容来匹配街道地址:

Find Dabla Inc at 6889 66th Ave, NY, NY 11884-3773. Call them at (888) 292-1655.
Find Walgreen Drug Stores at 6008 87th Ave, NY, NY 17774-4314. Call them at (888) 999-473
Find Silver Star Restaurant at 6941 99th Ave Ste A, NY, NY 88804-2915. Call them at (888) 851-2799.

然而,我看到它在比赛NY中包含,而不是在第一个逗号之后停止(它仅在第二个逗号后停止)。如果我使用正向前瞻,它为什么包括第一个逗号?

Thannks

1 个答案:

答案 0 :(得分:3)

(?<=at\s)\d{3,5}\s\S*\s\w*.*?(?=,)

                            ^^

制作正则表达式non greedy

请参阅演示:https://regex101.com/r/fX3oF6/14