正则表达式在特定单词后选择单词

时间:2017-09-08 14:49:44

标签: javascript regex

如何在正则表达式中的特定单词之后捕获单词,我必须选择 - 之间的所有内容,之后将会有两个捕获组。

实施例: "从伦敦到圣彼得堡"我想从字符串上面提取London Saint Petersburg

我坚持使用此代码,我当前的正则表达式选择to Saint Petersburg我希望从选择中删除单词fromto

/(?=to)(.*)/i

3 个答案:

答案 0 :(得分:7)

您可以捕获所需的两个组,然后使用match提取它们:

s = "From London to Saint Petersburg"

console.log(
  s.match(/From (.*?) to (.*)/).slice(1,3)
)

答案 1 :(得分:3)

您可以使用split()并使用/From | to /,它将返回包含拆分值的数组

var str = "From London to Saint Petersburg";
var arr = str.split(/from | to /ig);
console.log(arr);

答案 2 :(得分:0)

以下是您要求的示例代码:

<html>
<head>
</head>
<body>
</body>
<script>
	var strIn = "From London to Saint Petersburg";
	var regEx = /^From\s(.+?)\sto\s(.+?)$/;
	var arrResult = regEx.exec(strIn);
	var strOut = "Original:" + strIn + "<br>Result:<br>";
	strOut += "1. " + arrResult[1] + "<br>";
	strOut += "2. " + arrResult[2];
	document.write(strOut);
</script>
</html>

将其放入文档中。用浏览器打开它。结果如下:

Original:From London to Saint Petersburg
Result:
1. London
2. Saint Petersburg

希望它有所帮助!