Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку) / 8 сообщений из 8, страница 1 из 1
21.11.2007, 16:17
    #34955893
last_elf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
Если просто искать по .*
var regSelPart1 = new RegExp(".*", "igm");

То найдется весь текст, до первого символа \n. Если искать так:
var regSelPart2 = new RegExp("[^]*", "igm");
или так:
var regSelPart2 = new RegExp("[\\s|\\S]*", "igm");
То все нормально - только выглядит такая запись криво. (Мне же нужно искать именно ЛЮБОЙ символ, то есть (.)

Почему не ищется ВЕСЬ текст первым шаблоном (regSelPart1) ? Почему не оказывает никакого влияния модификатор многострочного поиска m ?
...
Рейтинг: 0 / 0
21.11.2007, 16:56
    #34956059
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
[.\n]
...
Рейтинг: 0 / 0
21.11.2007, 18:50
    #34956490
last_elf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
ОК это еще один вариант шаблона, к-рый будет искать \n.

Я просто не вник какая разница между многострочным поиском и обычным. И в том и в другом случае ищем во всем тексте, так в чем разница?
...
Рейтинг: 0 / 0
21.11.2007, 18:54
    #34956509
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
кажется в интерпретации ^ и $
...
Рейтинг: 0 / 0
21.11.2007, 19:02
    #34956532
last_elf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
Ааа, ясно. ^ - начало строчки в одном случае и начало всего документа в другом. Спасибо.
...
Рейтинг: 0 / 0
22.11.2007, 19:20
    #34959606
mrJust
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
Когда то делал поиск всех скриптов в html на js:
Код: plaintext
var pattern = /(?:\s*<script)(?:.*)(?:\n.*?)*(?:<\/script>)\s*/gi;
может пригодится.
...
Рейтинг: 0 / 0
22.11.2007, 20:28
    #34959703
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
как он отреагирует на такое?
Код: plaintext
1.
2.
<script></script>
<style></style>
<script></script>
...
Рейтинг: 0 / 0
22.11.2007, 22:13
    #34959801
mrJust
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку)
Виноват, исправлюсь :)

Код: plaintext
var pattern = /(?:<script(?:[^\n]|\n)*?<\/script>)/gi;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
  <title></title>
  <style>BODY{background:#eee;}</style>
  <script type="text/javaScript">
    function doIt()
    {
      var oArea = document.getElementById('res');
      oArea.value = '';

      var pattern = /(?:<script(?:[^\n]|\n)*?<\/script>)/gi;
      var str = document.body.innerHTML;
      var arMatches = str.match(pattern);
      if (arMatches)
      {
        for (var i= 0 ; i<arMatches.length; i++)
        {
          oArea.value+= 'script '+i+':\n';
          oArea.value+= arMatches[i]+'\n\n';
        }

      } else
        alert('no scripts');
    }
</script>
</head>

<body>
  <script></script>
  <style></style>
  <script></script>

	
<input type="button" onclick="doIt()" value="Do it!"><br>
<textarea id="res" cols="50" rows="40"></textarea>
</body>
</html>

output:
Код: plaintext
1.
2.
3.
4.
5.
6.
script  0 :
<SCRIPT></SCRIPT>

script  1 :
<SCRIPT></SCRIPT>

...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярка. Поиск частей текста, содержащего \n (переходы на новую строчку) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]