Javascript 正则表达式在字符串中搜索两个字符串之间的内容

Javascript 正则表达式在字符串中搜索两个字符串之间的内容,javascript,regex,expression,Javascript,Regex,Expression,我正在尽我最大的努力去了解regex,但是运气不太好 我试图在字符串中搜索文本,我知道字符串如何开始,我知道字符串如何结束,我想返回字符串之间的所有文本,包括开始和结束 开始搜索=[{“lx”: '[{"lx":variablehere}]'.match(/^\[\{"lx":(.+?)\}\]/); 结束搜索=}] i、 e [{“lx”:变量此处}] 到目前为止我已经试过了 /^\[\{"lx":(*?)\}\]/; 及 但是没有真正的效果。。。有人能帮忙吗 非常感谢星号字符将前面的字符

我正在尽我最大的努力去了解regex,但是运气不太好

我试图在字符串中搜索文本,我知道字符串如何开始,我知道字符串如何结束,我想返回字符串之间的所有文本,包括开始和结束

开始搜索=[{“lx”:

'[{"lx":variablehere}]'.match(/^\[\{"lx":(.+?)\}\]/);
结束搜索=}]

i、 e

[{“lx”:变量此处}]

到目前为止我已经试过了

/^\[\{"lx":(*?)\}\]/;

但是没有真正的效果。。。有人能帮忙吗


非常感谢

星号字符将前面的字符相乘。在你的情况下,没有这样的性格。您应该将
,意思是“任何字符”,或更具体的东西,如
\S
,意思是“任何非空白字符”。

星号字符将前面的字符相乘。在你的情况下,没有这样的性格。你应该把
,意思是“任何字符”,或者更具体的东西,比如
\S
,意思是“任何非空白字符”。

你可能错误地认为
*
是通配符。改用句号(
)你会没事的

另外,您确定要规定零或更多吗?如果必须有一个值,请使用+(一个或多个)

Javascript:

'[{"lx":variablehere}]'.match(/^\[\{"lx":(.+?)\}\]/);

您可能错误地认为
*
是一个通配符。改用句号(
)你会没事的

另外,您确定要规定零或更多吗?如果必须有一个值,请使用+(一个或多个)

Javascript:

'[{"lx":variablehere}]'.match(/^\[\{"lx":(.+?)\}\]/);
可能的解决办法:

var s = '[{"lx":variablehere}]';
var r = /\[\{"(.*?)":(.*?)\}\]/;
var m = s.match(r);

console.log(m);
此数组的结果:

[ '[{"lx":variablehere}]',
  'lx',
  'variablehere',
  index: 0,
  input: '[{"lx":variablehere}]' ]
可能的解决办法:

var s = '[{"lx":variablehere}]';
var r = /\[\{"(.*?)":(.*?)\}\]/;
var m = s.match(r);

console.log(m);
此数组的结果:

[ '[{"lx":variablehere}]',
  'lx',
  'variablehere',
  index: 0,
  input: '[{"lx":variablehere}]' ]
这应该对你有用。您可以通过\1符号访问捕获的变量

这应该对你有用。您可以通过\1符号访问捕获的变量。

尝试以下操作:

    ^\[\{\"lx\"\:(.*)\}\]$
[{“lx”:和}]之间的所有文本都可以在backreference变量中找到(类似\$1,取决于编程语言)

试试这个:

    ^\[\{\"lx\"\:(.*)\}\]$

[{“lx”:和}]之间的所有文本都可以在backreference变量中找到(类似\$1,取决于编程语言)

你可能想让
+
像ioseb那样不贪婪你可能想让
+
像ioseb那样不贪婪