-4

我有一个字符串 Born (1970-07-30) 30 July 1970 (age 43) London, UK

我需要从中获取子字符串30 July 1970。就像任何一个月一样明智,即。DOB 可能只会改变。

有人可以帮我用正则表达式吗?

4

3 回答 3

4
var string = "Born (1970-07-30) 30 July 1970 (age 43) London, UK";

var pattern = /\s(\d{1,2}\s[a-zA-Z]+\s\d{4})\s/

//fetch all matches back into an array
var result = string.match(pattern);

alert(result[1]);

Example on jsFiddle

正则表达式可视化

Edit live on Debuggex

希望这可以帮助。

于 2013-08-14T13:15:31.890 回答
2

我不会打扰正则表达式,有一个足够常见的模式可以将它分开......

var string = "Born (1970-07-30) 30 July 1970 (age 43) London, UK";
string = string.substring(string.indexOf(")") + 1);//" 30 July 1970 (age 43) London, UK"
string = string.substring(0, string.indexOf("("));//" 30 July 1970 "
string = string.trim();//"30 July 1970"
//string = "30 July 1970"
于 2013-08-14T13:15:55.303 回答
1

如果它们总是这样格式化,则不需要正则表达式。您可以使用拆分和切片。

var textDate = yourString.split(' ').slice(2, 5).join(' ');
于 2013-08-14T13:14:55.530 回答