我试图编写一个模式来捕获一个字符串,该字符串是指定子字符串的父字符串,该子字符串位于较大的文本字符串中,但被制表符或空格包围。因此,例如,如果我有:
aosidf asdoij aiosdf capture_this_string_and_its_value oasijdf
adsf aosidf asdoij aiosdf capture_this_string_and_its_value2 oasijdf oaisjd
adsf aosidf aiosdf now_capture_in_middle3 oasijdf oaisjd
adsf aosidf asdoij capture_this_string_and_its_value4 oasijdf oaisjd
var input_value= $("#input").val(); //the value of all that text taken from a textarea
var needle = "capture";
var re = new RegExp("((.*?)[\s\t]){0,}((.*?)" + needle + "(.*?))[\s\t]+(.*)(\r\n)?", "gmi");
var res = input_value.replace(re, "$3\n");
我没有捕捉到周围的价值(.*?)" + needle + "(.*?)
。我希望输出是:
capture_this_string_and_its_value
capture_this_string_and_its_value2
now_capture_in_middle3
capture_this_string_and_its_value4
但我得到了不好的结果。
df capture_thi
df capture_thi
df now_capture_in_middle3 oa
doij capture_thi
我怎样才能改变我的模式?