2011-09-28 49 views
0

我一直吸食正則表達式,現在我陷入了一個問題。我正在將一個網頁加載到我的AIR應用程序中,現在我想要做的是,我想要在特定模式中查找文本。見下文。查找模式內的內容? AS3

<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值?

回答

1

漂亮其實很簡單。僅提取值需要您在正則表達式中使用捕獲組來匹配引號之間的內容,然後在成功匹配後獲取該捕獲組的值。假設引用的字符串被賦值給變量可能包含轉義字符(包括轉義雙引號),然後將下面的測試代碼應工作:

var re = /\bvar\s+my_variable\s+=\s+"([^"\\]*(?:\\[\Ss][^"\\]*)*)"/; 
var results = text.match(re); 
var content = results ? results[1] : null; 
+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) 
"