Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2011, 14:21
Новичок на форуме
Отправить личное сообщение для VikaR Посмотреть профиль Найти все сообщения от VikaR
 
Регистрация: 25.05.2011
Сообщений: 4

Как в регулярных выражениях использовать переменную
Есть код
var q="бла-бла-бла";
var t=/q;/; - как на javascript'е сделать вместо q ее значение, т.е бла-бла-бла.
Значение q будет вычисляться програмно.
var t="/"+q+";/"; - не прокатило чего-то
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2011, 14:25
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

q = "[a-z]"; 
r = new RegExp(q);
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2011, 14:26
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

http://javascript.ru/basic/regular-e...n#obekt-regexp
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2011, 14:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

VikaR,
var t = new RegExp(q, 'ig');
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2011, 14:56
Новичок на форуме
Отправить личное сообщение для VikaR Посмотреть профиль Найти все сообщения от VikaR
 
Регистрация: 25.05.2011
Сообщений: 4

Еще вопрос. Есть строка типа "1;2;4;5;33;7;8;2;333;" (это числа, раздеренные знаком Нужно найти определенное число, например "3". Что-то не получается построить регулярку. Число находится, ибо есть два варианта 33 и 333. А нужно чтобі не находилось. Ибо числа 3 - нет. Понятно объяснила?
Ответить с цитированием
  #6 (permalink)  
Старый 22.12.2011, 14:58
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

"1;2;4;5;33;7;3;8;2;333;".split(';').forEach(function(key){
if(key == 3){
alert('yeah');
}
});
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #7 (permalink)  
Старый 22.12.2011, 15:02
Новичок на форуме
Отправить личное сообщение для VikaR Посмотреть профиль Найти все сообщения от VikaR
 
Регистрация: 25.05.2011
Сообщений: 4

Есть строка типа "33;5;6;8;333;9;2;" - числа через точку с запятой ";"
Ищу число, например 3. Число будет определяться ранее программно
var q = "3;";
var t = new RegExp(q);
var rez = t.test(txtExcludedDrivesNumber.value)
Оно находится ибо есть и 33; и 333;
Как построить регулярку для этого случая? Затупила совсем.

var q = "[^\d]+3;"; - не подходит
var q = "[^0-9]+3;"; - так тоже.
Спасибо

Последний раз редактировалось VikaR, 22.12.2011 в 15:08.
Ответить с цитированием
  #8 (permalink)  
Старый 22.12.2011, 15:08
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

VikaR,
Выше ответ.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #9 (permalink)  
Старый 22.12.2011, 15:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

VikaR,
q = "3";
str = "1;2;4;5;33;7;8;2;333;"
t = new RegExp("(^|;)"+q+";");
alert(t.test(str));
Ответить с цитированием
  #10 (permalink)  
Старый 22.12.2011, 20:49
Новичок на форуме
Отправить личное сообщение для VikaR Посмотреть профиль Найти все сообщения от VikaR
 
Регистрация: 25.05.2011
Сообщений: 4

рони, Nekromancer спасибо. Проверила скорость работы. У рони в 2 раза быстрее
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить переменную с сервера? DmitryT AJAX и COMET 2 03.08.2011 18:16
как в регулярных выражениях написать неразрывной пробел? qwertyuiop Общие вопросы Javascript 6 03.08.2011 04:36
Как сделать локальную переменную глобальной?? Дмитрий Общие вопросы Javascript 8 02.11.2010 03:33
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58