Javascript 从文本中获取两个特定字符序列之间的子字符串

Javascript 从文本中获取两个特定字符序列之间的子字符串,javascript,substring,Javascript,Substring,我有一个长文本,其中有几个特殊字符,因此我无法筛选到“或)字符。 所需文本及其位置: (Job: "THIS TEXT") 我尝试使用以下代码获取此文本: var jobstring = jobname.substring(jobname.indexOf("(Job: \"") + 7) jobstring = jobstring.substring(0, jobstring.indexOf("\")")); 还有这个代码: var jobstring=jobname.substring(j

我有一个长文本,其中有几个特殊字符,因此我无法筛选到
字符。 所需文本及其位置:

(Job:
"THIS TEXT")
我尝试使用以下代码获取此文本:

var jobstring = jobname.substring(jobname.indexOf("(Job: \"") + 7)
jobstring = jobstring.substring(0, jobstring.indexOf("\")"));
还有这个代码:

var jobstring=jobname.substring(jobname.lastIndexOf("Job: ")+7,jobname.lastIndexOf("")"));
这些输出都不是这个文本,但我不知道我到底错过了什么。

为什么不使用正则表达式

var s='(作业:\n“此文本”);
var rx=/Job:\s*“([^”]*)”/g
console.log(rx.exec)[1])
为什么不使用regex

var s='(作业:\n“此文本”);
var rx=/Job:\s*“([^”]*)”/g

console.log(rx.exec(s)[1])
作业后没有空间:但线路中断。 您必须将regexp与\n\r一起使用,或者\s witch用于所有空格

    result = jobname.match(/Job:\s"(.+)"/g);
我建议你使用一个regexp工具,你会发现其中很多。

作业后没有空间,只有一段休息时间。 您必须将regexp与\n\r一起使用,或者\s witch用于所有空格

    result = jobname.match(/Job:\s"(.+)"/g);
我建议你使用一个regexp工具,你会发现其中很多。

1:您有一个换行符(
\n
\r\n
)。2这不可能是正确的
jobname.lastIndexOf(“””)
-您的意思是
jobname.lastIndexOf(“”)
-请显示一个较长的字符串,包括作业前后的内容,如果输入是
”(作业:\“此文本”),则此文本对我来说效果良好“
为什么不使用正则表达式?
/(?!作业:.{1}\”[\w](?=\“\)/gm
.1:您有一个换行符(
\n
\r\n
)。2这不可能是正确的
作业名.lastIndexOf(“”)
-您是指
作业名.lastIndexOf(“”)吗“)
-请显示一个较长的字符串,包括作业前后的内容,如果输入是
”(作业:\“此文本”)”
为什么不使用正则表达式?
/(?!作业:.{1}\”[\w](?=\”\)/gm