1

Тема: JS Регулярка, как оно там в действительности?

Есть строка, для наглядности пробелы заменил. Количество этих лишних символов неизвестно.

s='1====2=======,==3,======4=5,=6=======,7=,8'

Задача простая, между чисел должна остаться только одна запятая, если запятой нет, заменить один из символов на запятую.
рабочая регулярка

s=s.replace(/=+/g, "=").replace(/=,=|,=|=,|=/g, ",").split(",");

Как в действительности работает ИЛИ, первое проходит по ВСЕЙ строке, потом второе по ВСЕЙ, и так далее, то есть каждое ИЛИ идёт с начала строки?
Работать то оно работает, но может правильней разделить на отдельные replace()?

Это реальные разборки с координатами атрибута coords тега area.

2

Re: JS Регулярка, как оно там в действительности?

Может так проще?

s = s.match(/\d+/g);
Нас невозможно сбить с пути, нам пофигу куда идти.

3 (изменено: Rumata, 2012-03-04 14:13:22)

Re: JS Регулярка, как оно там в действительности?

Не понятно, что требуется?

а) изменить строку


s.replace(/^\D+|\D+$/g, '').replace(/\D+/g, ',')

б) извлечь все числовые данные (два предложения)


s.match(/\d+/g)
s.split(/\D+/)
( 2 * b ) || ! ( 2 * b )

4 (изменено: DnsIs, 2012-03-04 17:51:26)

Re: JS Регулярка, как оно там в действительности?

А зачем здесь

s.split(/\D+/)

?

Нас невозможно сбить с пути, нам пофигу куда идти.

5

Re: JS Регулярка, как оно там в действительности?

DnsIs пишет:

А зачем здесь

массив строк, содержащих только цифры. Почти тоже самое, что и .match().

( 2 * b ) || ! ( 2 * b )

6

Re: JS Регулярка, как оно там в действительности?

Тьфу ты елки палки. 8)
Я расценил не как 2 различных варианта, а как будто "split" продолжение "match". Был не прав.

Нас невозможно сбить с пути, нам пофигу куда идти.

7

Re: JS Регулярка, как оно там в действительности?

s = s.match(/\d+/g);

Наверно да. Просто зациклился на удалении и забыл что мне числа нужны.

б) извлечь все числовые данные (два предложения)

Ну да, их родимых.


Всем спасибо.