提取句子的一部分

时间:2012-12-09 12:22:14

标签: javascript regex string

如何提取这样的句子的一部分:

var sentence = "This is my sentence. I want to extract a part of it (in javascript !)";
var subSentence1 = "nt t";
var subSentence2 = "t (in javasc";

var result1 = f(sentence,subSentence1);
var result2 = f(sentence,subSentence2);

我想:

  

result1 =“想要”

  

result2 =“it(在javascript中”

由于

2 个答案:

答案 0 :(得分:0)

您必须转义subSentence个变量,因此(应为\(,这意味着t (in javasc应为t \(in javasc

对正则表达式中使用的所有字符串变量使用字符串替换。

var subSentence1 = subSentence1.substring('(', '\(');

将产生预期结果的正则表达式就是这些。

var patt = new RegExp("[^\s]*nt t.*?(?=\s)")
var patt = new RegExp("[^\s]*t \(in javasc.*?(?=\s)")

因此,您将subSentence变量放在[^\s]*.*?(?=\s)之间。

构造一个像

这样的正则表达式字符串
var patt = new RegExp("[^\s]*" + subSentence + ".*?(?=\s)")

答案 1 :(得分:0)

如果您不熟悉正则表达式,我建议您先看看这个必备reference。在我没有使用正则表达式并且忘记了语法后,我个人总是提到它。