用于从逗号分隔地址中提取城市的正则表达式
Regex for extracting city from comma separated address
我有这样一个地址:
123 Main St, Los Angeles, CA, 90210
我只想捕捉城市:
Los Angeles
我一直在尝试这样的事情:
(?:[^,]+),\s([^,]+)
但我不明白如何 return 只是第二组。使用像 {2} 这样的标志似乎包括了第二组,而不仅仅是第二组。
更新
我正在使用使用正则表达式模式的 Chrome 扩展程序,因此在这种情况下无法使用 Javascript 或其他语言。
您可以尝试的一般模式是:
^[^,]+,\s*([^,]+)
城市名称将在第一个(也是唯一一个)捕获组中可用。
我的猜测是这个表达式可能在这里很有趣,
(?<=,\s)([A-Z].*?)(?=[,\s]*[A-Z]{2}[,\s]*\d{5}(?:-\d{4})?)
If you wish to explore/simplify/modify the expression, it's been
explained on the top right panel of
regex101.com. If you'd like, you
can also watch in this
link, how it would match
against some sample inputs.
为什么需要正则表达式?拆分应该足够了。
JS 示例:
var str = "123 Main St, Los Angeles, CA, 90210";
var res = str.split(", ");
if(res.length>1)
{
console.log(res[1]);
}
Python中的示例:
s = "123 Main St, Los Angeles, CA, 90210";
r = s.split(", ")
if len(r) > 1:
print(r[1])
Java中的示例:
String s = "123 Main St, Los Angeles, CA, 90210";
String[] parts = s.split(", ");
if(parts.length > 1)
{
System.out.print(parts[1]);
}
我有这样一个地址:
123 Main St, Los Angeles, CA, 90210
我只想捕捉城市:
Los Angeles
我一直在尝试这样的事情:
(?:[^,]+),\s([^,]+)
但我不明白如何 return 只是第二组。使用像 {2} 这样的标志似乎包括了第二组,而不仅仅是第二组。
更新
我正在使用使用正则表达式模式的 Chrome 扩展程序,因此在这种情况下无法使用 Javascript 或其他语言。
您可以尝试的一般模式是:
^[^,]+,\s*([^,]+)
城市名称将在第一个(也是唯一一个)捕获组中可用。
我的猜测是这个表达式可能在这里很有趣,
(?<=,\s)([A-Z].*?)(?=[,\s]*[A-Z]{2}[,\s]*\d{5}(?:-\d{4})?)
If you wish to explore/simplify/modify the expression, it's been explained on the top right panel of regex101.com. If you'd like, you can also watch in this link, how it would match against some sample inputs.
为什么需要正则表达式?拆分应该足够了。
JS 示例:
var str = "123 Main St, Los Angeles, CA, 90210";
var res = str.split(", ");
if(res.length>1)
{
console.log(res[1]);
}
Python中的示例:
s = "123 Main St, Los Angeles, CA, 90210";
r = s.split(", ")
if len(r) > 1:
print(r[1])
Java中的示例:
String s = "123 Main St, Los Angeles, CA, 90210";
String[] parts = s.split(", ");
if(parts.length > 1)
{
System.out.print(parts[1]);
}