我正在尽最大努力了解正则表达式,但运气不佳。
我试图在字符串中搜索文本,我知道字符串是如何开始的,我知道字符串是如何结束的,我想返回字符串之间的所有文本,包括开始和结束。
开始搜索 = [{"lx":
结束搜索 = }]
IE
[{“lx”:这里的变量}]
到目前为止我已经尝试过
/^\[\{"lx":(*?)\}\]/;
和
/(\[\{"lx":)(*)(\}\])/;
但无济于事......有人可以帮忙吗?
非常感谢
我正在尽最大努力了解正则表达式,但运气不佳。
我试图在字符串中搜索文本,我知道字符串是如何开始的,我知道字符串是如何结束的,我想返回字符串之间的所有文本,包括开始和结束。
开始搜索 = [{"lx":
结束搜索 = }]
IE
[{“lx”:这里的变量}]
到目前为止我已经尝试过
/^\[\{"lx":(*?)\}\]/;
和
/(\[\{"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}]' ]
\[\{"lx"\:(.*)\}\]
这应该适合你。您可以通过 \1 符号访问捕获的变量。
星号乘以前面的*
字符。在你的情况下,没有这样的角色。您应该放置.
,这意味着“任何字符”,或者更具体的东西,比如\S
,这意味着“任何非空白字符”。
尝试这个:
^\[\{\"lx\"\:(.*)\}\]$
[{"lx": and }] 之间的所有文本都可以在反向引用变量中找到(类似于 \$1 ,取决于编程语言)。