evg64
05-12-2009, 00:29
Добрый день! Есть вопрос по тому, как вычленить содержимое между 2-мя строками. Все может выглядеть либо так:
<SPAN class='columnValue'>искомое значение</SPAN> (случай 1)
Либо так:
<SPAN class='columnValue'>
все
это
является
искомым
значением
</SPAN> (случай 2)
Либо так:
<SPAN class='columnValue'>искомое значение
</SPAN> (случай 3)
Пытаюсь получить искомые значения функцией StringRegExp (исходная строка для поиска регулярных выражений содержится в буфере обмена):
#Include <Array.au3>
$aRegExpValue = StringRegExp(clipget(), "<SPAN class='columnValue'>(.*?)\r?\n?</SPAN>", 3)
_ArrayDisplay($aRegExpValue)
Проблема в том, что функция находит лишь регулярные выражения из случая 1 (то есть <SPAN class='columnValue'>искомое значение</SPAN>).
Если </SPAN> перенесен хотя бы на одну строку вниз по сравнению с 1-й частью рег выражения, то совпадений не обнаруживается. Даже несмотря на то, что написано "\r?\n?". Как сделать так, чтобы функция возвращала совпадения из всех 3-х случаев?
P.S. Вопрос имеет лишь косвенное отношение к AutoIt, за это сори, однако спросить на этом форуме мне удобнее и быстрее всего :)
<SPAN class='columnValue'>искомое значение</SPAN> (случай 1)
Либо так:
<SPAN class='columnValue'>
все
это
является
искомым
значением
</SPAN> (случай 2)
Либо так:
<SPAN class='columnValue'>искомое значение
</SPAN> (случай 3)
Пытаюсь получить искомые значения функцией StringRegExp (исходная строка для поиска регулярных выражений содержится в буфере обмена):
#Include <Array.au3>
$aRegExpValue = StringRegExp(clipget(), "<SPAN class='columnValue'>(.*?)\r?\n?</SPAN>", 3)
_ArrayDisplay($aRegExpValue)
Проблема в том, что функция находит лишь регулярные выражения из случая 1 (то есть <SPAN class='columnValue'>искомое значение</SPAN>).
Если </SPAN> перенесен хотя бы на одну строку вниз по сравнению с 1-й частью рег выражения, то совпадений не обнаруживается. Даже несмотря на то, что написано "\r?\n?". Как сделать так, чтобы функция возвращала совпадения из всех 3-х случаев?
P.S. Вопрос имеет лишь косвенное отношение к AutoIt, за это сори, однако спросить на этом форуме мне удобнее и быстрее всего :)