当前位置: 代码迷 >> java >> Java Regex Anomaly?
  详细解决方案

Java Regex Anomaly?

热度:56   发布时间:2023-07-31 11:12:23.0

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

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.

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

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

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

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

Thannks

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

                            ^^

让你的正则表达non greedy

请参阅演示: :

  相关解决方案