在模式中查找内容? AS3

时间:2011-09-28 06:02:48

标签: regex string actionscript-3 flash-builder

我总是吮吸正则表达式,现在我遇到了问题。我正在将一个网页加载到我的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值?

2 个答案:

答案 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;