Находить содержимое внутри шаблона? AS3 - PullRequest
0 голосов
/ 28 сентября 2011

Я всегда сосал регулярные выражения, и теперь я застрял с проблемой. Я загружаю веб-страницу в свое приложение 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"; Как извлечь просто значение?

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Довольно просто на самом деле. Извлечение только значения требует, чтобы вы использовали группу захвата в регулярном выражении для сопоставления содержимого между кавычками, а затем извлекли значение этой группы захвата после успешного сопоставления. Предполагая, что строка в кавычках, присваиваемая переменной, может содержать экранированные символы (включая экранированные двойные кавычки), тогда должен работать следующий протестированный код:

var re = /\bvar\s+my_variable\s+=\s+"([^"\\]*(?:\\[\Ss][^"\\]*)*)"/;
var results = text.match(re);
var content = results ? results[1] : null;
1 голос
/ 28 сентября 2011

Попробуйте это:

/var [^ ]* = "([^"]*)"/

Что означает:

var
space
everything but a space a certain amount of times
space
=
space
"
everything but a " a certain amount of times (caught)
"
...