我总是吮吸正则表达式,现在我遇到了问题。我正在将一个网页加载到我的AIR应用程序中,现在我想要做的是,我想在某个模式中找到文本。见下文。
<html>
<head></head>
<body>
Blah blah blah..
Blah blah var my_variable = "this is a value";
</body>
</html>
在上面的示例中,我希望这是一个没有引号的值。该值的格式为 var [space] my_variable [space] = [space]“content”; 如何提取JUST值?
答案 0 :(得分:1)
试试这个:
/var [^ ]* = "([^"]*)"/
这意味着:
var
space
everything but a space a certain amount of times
space
=
space
"
everything but a " a certain amount of times (caught)
"
答案 1 :(得分:1)
非常简单。仅提取值需要您使用正则表达式中的捕获组来匹配引号之间的内容,然后在成功匹配后获取该捕获组的值。假设分配给变量的带引号的字符串可能包含转义字符(包括转义的双引号),那么以下测试的代码应该可以工作:
var re = /\bvar\s+my_variable\s+=\s+"([^"\\]*(?:\\[\Ss][^"\\]*)*)"/;
var results = text.match(re);
var content = results ? results[1] : null;