Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поиск строки по регулярному выражению (https://javascript.ru/forum/misc/57310-poisk-stroki-po-regulyarnomu-vyrazheniyu.html)

jei 29.07.2015 12:07

Поиск строки по регулярному выражению
 
есть строка штмл текст

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
и т.д...

там есть такой участок кода

<div class="reviews_list">
<p class="title">Отзывы</p>
		<div class="comments" id="bx_4068879410_1720">
				<div class="comments_txt">
<div class="news-head">
							<span class="news-date-time">18.05.2015</span>
			
								<span class="news-author">1.</span>
			</div>
			
							<div class="positive-review"> 
пвваварыпрвап
	
					1					
					<a href="/services/terapiya/index.php?PAGEN_1=2">2</a>
					
					<a href="/services/terapiya/index.php?PAGEN_1=3">3</a>
					
</div></div>


нужно забрать только блок
<div class="reviews_list">
</div>


var reg = /<div.* class="reviews_list">(.*)<\/div/;
var res = reg.exec(xhttp.responseText);
console.log(res);


так не получается.Посоветуйте как лучше?

jei 29.07.2015 12:48

Вот так получается, но нужно второе вхождение. Так как в первом находит сам код джава скрипта.

var reg = /<div.* class="reviews_list">([\s\S]*)<\/div>/;
var res = reg.exec(xhttp.responseText);
console.log(res[1]);

jei 29.07.2015 17:27

второе вхождение удалось сделать с помощью укорачивания строки.То есть убрали все символы которые были в первом вхождении.


Часовой пояс GMT +3, время: 11:08.