我有这种文字 ACORN HOME AND GARDEN 3870 Due West Road NW Marietta Georgia 30064 我希望文字像下面的东西
ACORN HOME AND GARDEN
3870 Due West Road NW Marietta Georgia 30064
我尝试写一个正则表达式
^([A-Z]$)*
但这并没有给我我想要的结果。
任何人都可以帮我找到确切的正则表达式
答案 0 :(得分:0)
你可以试试这个:
^([A-Za-z\s]*)(\d{4}[A-Za-z0-9\s\d]*)$
这包含两个捕获组:
([A-Za-z\s]*)
(\d{4}[A-Za-z0-9\s\d]*)
这会将数据拆分为:
ACORN HOME AND GARDEN
3870 Due West Road NW Marietta Georgia 30064
请注意,这不太适用于不同的地址格式,因为当它达到第一个十进制数字系列时会分成两组,在这种情况下,第一组十进制数字必须是4位数,以便拆分为发生。
这种类型的信息很难分割,因为它非常不规范。正则表达式最适合格式良好的数据。
以下是一些可能有用的工具:
这是一个jsFiddle示例:
<强> HTML 强>
<span id="out"></span>
<强>的JavaScript 强>
$(document).ready(function() {
var addr = "ACORN HOME AND GARDEN 3870 Due West Road NW Marietta Georgia 30064";
var regex = /^([A-Za-z\s]*)(\d{4}[A-Za-z0-9\s\d]*)$/;
// Try changing the index [0] to [1] or [2] to see a different result.
$("#out").text(regex.exec(addr)[0]);
});