Regex 用于从逗号分隔地址提取城市的正则表达式
我有一个这样的地址:Regex 用于从逗号分隔地址提取城市的正则表达式,regex,street-address,Regex,Street Address,我有一个这样的地址: 123 Main St, Los Angeles, CA, 90210 (?:[^,]+),\s([^,]+) 我只想捕捉这座城市: Los Angeles 我一直在尝试这样做: 123 Main St, Los Angeles, CA, 90210 (?:[^,]+),\s([^,]+) 但我不知道如何只返回第二组。使用像{2}这样的标志似乎包括到第二个组的每一个,而不仅仅是第二个组 更新 我使用的是使用正则表达式模式的Chrome扩展,因此在这种情况下不可能使
123 Main St, Los Angeles, CA, 90210
(?:[^,]+),\s([^,]+)
我只想捕捉这座城市:
Los Angeles
我一直在尝试这样做:
123 Main St, Los Angeles, CA, 90210
(?:[^,]+),\s([^,]+)
但我不知道如何只返回第二组。使用像{2}这样的标志似乎包括到第二个组的每一个,而不仅仅是第二个组
更新
我使用的是使用正则表达式模式的Chrome扩展,因此在这种情况下不可能使用Javascript或其他语言。您可以尝试的一般模式是:
^[^,]+,\s*([^,]+)
城市名称将在第一个(也是唯一一个)捕获组中可用
我的猜测是,也许这个表达式在这里很有趣
(?<=,\s)([A-Z].*?)(?=[,\s]*[A-Z]{2}[,\s]*\d{5}(?:-\d{4})?)
(?为什么需要一个正则表达式?拆分就足够了
JS中的示例:
var str=“加利福尼亚州洛杉矶大街123号,邮编90210”;
var res=str.split(“,”);
如果(分辨率长度>1)
{
console.log(res[1]);
}
您使用的是什么语言/工具?您的模式是基于我提供的字符串工作的,但我最终需要说明完整的州名称,因此我调整了您的模式,并最终得出以下结论:(?使用regex解析csv确实有点笨拙