Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2015, 17:48
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Регулярное выражение
Естьстрока типа
{Potential} ({50%})


Нужно вытащить то, что находится между {}

Делаю: "{Potential} ({50%})".match( /\{(.*?)\}/g ) - почему-то выводит вместе с {}

Как правильно написать регулярку?
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2015, 18:25
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

var str = '{Potential} ({50%})',
     regexp = /\{(.*?)\}/g,
     result;

while ( result = regexp.exec(str) ) {
    alert( result[1] );
}
Ответить с цитированием
  #3 (permalink)  
Старый 15.10.2015, 10:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от alexandr2006 Посмотреть сообщение
Естьстрока типа
{Potential} ({50%})

Нужно вытащить то, что находится между {}
Мои 5коп...

alert("{Potential} ({50%})".match( /[^{}\s()]+/g ));
Ответить с цитированием
  #4 (permalink)  
Старый 15.10.2015, 17:31
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Сообщение от ksa Посмотреть сообщение
Мои 5коп...

alert("{Potential} ({50%})".match( /[^{}\s()]+/g ));
alert("{Pot ential} ({50%})".match( /[^{}\s()]+/g ));
так не сработает, увы(
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2015, 09:11
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от alexandr2006
так не сработает
Так умиляет, когда условие задачки меняется раз от разу...
Я был готов к этому... Модернизация!
alert("{Pot ential} ({50%})".match( /[^{]+(?=\})/g ));
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2015, 11:26
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Сообщение от ksa Посмотреть сообщение
Так умиляет, когда условие задачки меняется раз от разу...
Я был готов к этому... Модернизация!
alert("{Pot ential} ({50%})".match( /[^{]+(?=\})/g ));
Спасибо, ksa, только почти не работает(((

alert("{Pot ential} ({})".match( /[^{]+(?=\})/g )[1]);


А условие задачки таково: есть некий текст и из него нужно вытащить все, что находится между {}, причем {} может быть несколько и внутри них пусто. Пока ставлю вместо {} {false} и пробую осмыслить твой рег выр
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2015, 11:35
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Эврика! /[^{]*(?=\})/g
Ответить с цитированием
  #8 (permalink)  
Старый 16.10.2015, 11:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Сообщение от alexandr2006
Эврика! /[^{]*(?=\})/g
только
alert("{Pot ential} ({})".match( /[^{]*(?=\})/g).length);
Ответить с цитированием
  #9 (permalink)  
Старый 16.10.2015, 11:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от alexandr2006
А условие задачки таково: есть некий текст и из него нужно вытащить все, что находится между {}, причем {} может быть несколько и внутри них пусто.
При увеличении требований в задаче - переходи на вариант Decode.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение tata4ka Общие вопросы Javascript 4 15.11.2014 00:56
Регулярное выражение и метод test tsigel Общие вопросы Javascript 3 30.08.2013 13:47
регулярное выражение literator Ваши сайты и скрипты 1 18.08.2013 18:24
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29