Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Чтение строки регулярным выражением (https://javascript.ru/forum/misc/33455-chtenie-stroki-regulyarnym-vyrazheniem.html)

Dorian_bs 24.11.2012 00:01

Чтение строки регулярным выражением
 
Всем привет!
Прошу помочь в написании скрипта.
Суть заключается в том, что необходимо сделать 2 действия.

1 - записать все, что находится до "-". То есть "Привет".
2 - записать все, что находится после "-". То есть "Пока".
var a = "Привет - Пока"


Вот мой способ.
Но дело в том, что если текст будет написан так, то нужно совсем другое условие(
var a = "Привет-Пока"


var a = "<div>123 - test</div>".match(/[A-Za-z0-9]* -/).join().replace(/ -/, "");
var b = "<div>123 - test</div>".match(/- [A-Za-z0-9]*/).join().replace(/- /, "");
console.log(a, b);


Помогите)
Заранее спасибо! :thanks:

melky 24.11.2012 00:05

Цитата:

Сообщение от Dorian_bs
1 - записать все, что находится до "-". То есть "Привет".
2 - записать все, что находится после "-". То есть "Пока".

var str = "Привет - Пока";

alert( str.match(/^[\s\S]+(?=-)/) );
alert( str.match(/-[\s\S]+$/) );

просмотра назад у нас нет, поэтому в результат попало "-" во втором случае.

вообще эту задачу нужно было бы решать через String.split;

Magneto 24.11.2012 01:09

var str = 'Привет - Пока';

var res = str.match(/(\S*)[\s]*-[\s]*(\S*)/);

alert(res[1]);
alert(res[2]);

Aetae 24.11.2012 01:29

Magneto, зачем лишние []?

nerv_ 24.11.2012 07:59

var a = "Привет-Пока"
alert( a.split( '-' ) );

Aetae 24.11.2012 08:26

Цитата:

Сообщение от nerv_ (Сообщение 217566)
var a = "Привет-Пока"
alert( a.split( '-' ) );

Не, так не интересно.


Часовой пояс GMT +3, время: 06:38.