Просмотр полной версии : Вывести текст от определенного символа до пробела
Есть текст такого типа:
Связывает функцию с @событием mouseout для каждого элемента набора.
Событие @mouseout обычно вызывается, когда указатель мыши выходит
 за пределы элемента.
И мне нужно вытянуть из этого текста слова, которые начинаются с символа @ и заканчиваются пробелом.
То есть из приведенного выше текста должно получиться два слова:
@событием и @mouseout, еще желательно загнать полученные сова в массив, чтобы было удобнее его потом обрабатывать.
из приведенного выше текста должно получиться два слова:
@событием и @mouseout
Да простят меня знатоки регулярок... :D Предложу такой вариант
var val='Связывает функцию с @событием mouseout для каждого элемента набора. Событие @mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента.'
var a=val.match(/(@\W*\s)|(@\w*\s)/g)
alert(a.join())
Все прекрасно работает, кроме одного если @ поставить перед элемента набора, то есть текст уже будет иметь такой вид:
Связывает функцию с событием mouseout для каждого @элемента набора. Событие mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента.
trikadin
04.11.2011, 14:21
М?
str="Связывает функцию с событием mouseout для каждого @элемента набора. Событие mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента."
arr= str.match(/@\S*/g);
alert(arr)
Все прекрасно работает, кроме одного если @ поставить перед элемента набора
Ты бы хоть пример мой использовал для того, чтобы показать что тебя не устраивает... Поскольку я из твоего "объяснения" ничего не понял. :D
М?
Конечно так лучше... :yes:
берёт от символа собаки до символа, не входящего в английский или русской алфавит.
пробел, перевод строки, дефис, цифра...
var str = 'Связывает функцию с @событием mouseout для каждого элемента набора. Событие @mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента.';
var matches = str.match(/@[\wа-я]+/gi);
alert(matches);
/@\S*/g;
от собаки до любого символа, кроме пробела, которого может и не быть?
str=" lol @ ...";
arr= str.match(/@\S*/g);
alert(arr)
Всем спасибо за скорую помощь, в решении моей проблемы, вариант trikadin как раз то что нужно, та как между собакой и словом пробела не будет...
trikadin
05.11.2011, 00:32
от собаки до любого символа, кроме пробела, которого может и не быть?
Не совсем правильно понял... Оно хавает все непробельные символы, начиная от собаки.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot