Javascript 正则表达式在字符串中搜索两个字符串之间的内容
我正在尽我最大的努力去了解regex,但是运气不太好 我试图在字符串中搜索文本,我知道字符串如何开始,我知道字符串如何结束,我想返回字符串之间的所有文本,包括开始和结束 开始搜索=[{“lx”:Javascript 正则表达式在字符串中搜索两个字符串之间的内容,javascript,regex,expression,Javascript,Regex,Expression,我正在尽我最大的努力去了解regex,但是运气不太好 我试图在字符串中搜索文本,我知道字符串如何开始,我知道字符串如何结束,我想返回字符串之间的所有文本,包括开始和结束 开始搜索=[{“lx”: '[{"lx":variablehere}]'.match(/^\[\{"lx":(.+?)\}\]/); 结束搜索=}] i、 e [{“lx”:变量此处}] 到目前为止我已经试过了 /^\[\{"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那样不贪婪