【发布时间】:2011-10-17 08:54:41
【问题描述】:
我正在尝试用 Java 制作一个正则表达式,它可以粗略地用于匹配某些街道名称。我想这样做,以便给定以下字符串:
然后有人决定去大街小酌一杯
将匹配“大街”一词。这就是前面的单词和单词“street”来获得街道名称。我尝试过这样的事情:
Pattern.compile("(\\w+\\s*(road|street|square|rd|st|sq)\\W+)");
但这失败了,看来Java是想匹配整个句子,但我只是对几个单词感兴趣。我也尝试了一些不情愿的量词,但似乎没有任何效果。
任何帮助/建议将不胜感激。谢谢!
【问题讨论】:
-
(\w+ (road|street|square|rd|st|sq))...这行不通吗?
标签: java regex pattern-matching