如何提取这样的句子的一部分:
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中”
由于
答案 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。在我没有使用正则表达式并且忘记了语法后,我个人总是提到它。