Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярные выражения / 9 сообщений из 9, страница 1 из 1
26.11.2008, 14:50
    #35676781
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Добрый день.
Помогите составить простое регулярное выражение!
Например, есть такая строка:
nomer1=1; nomer2=2; nomer3=3;
Нужно получить массив из {1,2,3}
или, например есть строка
111 333 уу 555
в ней нужно получить масиив {111,333,555}
У меня почему-то выводится только первое значение, в первом случае {1} и во втором {111}.
Помогите
...
Рейтинг: 0 / 0
26.11.2008, 16:57
    #35677233
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
http://www.regular-expressions.info/javascript.html
/g enables "global" matching. When using the replace() method, specify this modifier to replace all matches, rather than only the first one.

?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
26.11.2008, 17:03
    #35677251
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Для первого случая писала вот такой шаблон:
Код: plaintext
var re=/[^nomer]+[\S+\s\S+]+/g
в результате вернулся массив {1=1; nomer2=2; nomer3=3;}
Как хотя бы получить такой массив {1=1; 2=2; 3=3;} ?
Уже сколько времени бьюсь , помогите! на какую-нить мыслю наведите
...
Рейтинг: 0 / 0
26.11.2008, 17:07
    #35677264
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Ex_Soft
http://www.regular-expressions.info/javascript.html
/g enables "global" matching. When using the replace() method, specify this modifier to replace all matches, rather than only the first one.

?
_________________
"Helo, word!" - 17 errors 56 warnings

Последний шаблон у меня и без /g сработал. На всякий случай его написала.
...
Рейтинг: 0 / 0
26.11.2008, 17:19
    #35677302
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Ой, у меня в последнем примере, это одна строка, а не массив значений!!! Запуталась уже в этих регулярных выражениях.
...
Рейтинг: 0 / 0
26.11.2008, 17:22
    #35677306
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
тынць Вам в помосчЪ
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
26.11.2008, 17:54
    #35677422
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
По-моему это немного не то. Мне же нужен массив значений
...
Рейтинг: 0 / 0
26.11.2008, 19:15
    #35677585
mrJust
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Эх... Похоже js не поддерживает ретроспективную проверку (
Поэтому.. немного громоздское решение

Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
	<title></title>
	<META content="text/html; charset=utf-8" http-equiv="Content-Type">
<script type="text/javascript">
function getArInfo(ar)
{
	var buf='';
	for (var i= 0 ; i< ar.length; i++)
		buf+= '['+ i+ ']: |'+ ar[i]+ '|\n';
	return buf;
}

function matchValues(id)
{
	var str = document.getElementById(id).value;
	alert('string value: '+ str);
	// сначала идет одна или более цифр, запоминаем это в переменную при поиске
	// сразу за ней (цифрой) идет символ ';' или 'КОНЕЦ СТРОКИ' или 'СИМВОЛ ПРОБЕЛА' - это не запоминаем
	var re = /(\d+)(?:;|$|\s)/g;

	var matches = [];
	var para;
	// пока находятся совпадения с шаблоном
	while (para = re.exec(str))
	{
		//alert(para);
		// добавляем найденное совпадение
		matches[matches.length] = para[ 1 ];
	}
	
	// выводим найденные совпадения если они есть
	if (matches.length> 0 )
	{
		alert(getArInfo(matches));
	} else
	{
		alert('not found');
	}
}
</script>
</head>

<body>
<input id="m1" type="text" value="nomer1=1; nomer2=2; nomer3=3;" style="width:500px">
<input type="button" onclick="matchValues('m1')" value="match1"><br /><br />
<input id="m2" type="text" value="111 333 уу 555" style="width:500px">
<input type="button" onclick="matchValues('m2')" value="match1"><br /><br />

</body>
</html>
...
Рейтинг: 0 / 0
29.11.2008, 17:01
    #35683492
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
mrJust,
спасибо большое. Это то, что надо!!!
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярные выражения / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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