我有这种文字 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]$)*
但这并没有给我想要的结果。
谁能帮我找到确切的正则表达式
我有这种文字 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]$)*
但这并没有给我想要的结果。
谁能帮我找到确切的正则表达式
你可以试试这个:
^([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]);
});
在这里试试:http: //jsfiddle.net/sNEZV/