Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   выдача всех результатов. регулярные выражения (https://javascript.ru/forum/misc/9353-vydacha-vsekh-rezultatov-regulyarnye-vyrazheniya.html)

andreevich 12.05.2010 16:08

выдача всех результатов. регулярные выражения
 
есть строка
Код:

"TmProc=23 m TmProc=20.24 TmProc=3m TmProc=4 TmProc=0.1 m"
нужно вытащить массив значений переменной TmProc, после значения которого стоит через пробел символ m
т.е. из исходного текста должно выдать 23 и 0.1
вот сам reg
Код:

/TmProc=\d+\.*\d* m/igm
Проблема в том, что для выдачи всех результатов, нужно несколько раз нажать на кнопку. С каждым нажатием находится всего один результат
Код:

     
        $('#button').click(function(){
          var myRe = /TmProc=\d+\.*\d* m/igm
          var myArray = myRe.exec("TmProc=23 m  TmProc=20.24 TmProc=3m TmProc=4 TmProc=0.1 m");
          console.log(myArray)
        })

Вторая проблема заключается в том, что если между числом и символом m несколько пробелов - то вообще НЕ работает. Пробовал [\b]+
Код:

/TmProc=\d+\.*\d*[\b]+m/igm
Это только часть запроса. В идеале должно быть так: Из текста
Код:

ААА=12.3 m        BBB=40
ААА=10 m        BBB=10
ААА=0.1 m  BBB=80

получить ассоциированный массив
Код:

[40->12.3; 10->10; 80->0.1]

Kolyaj 12.05.2010 16:17

http://javascript.ru/String/match

Цитата:

Сообщение от andreevich
Пробовал [\b]+

Это как такое родилось?

andreevich 12.05.2010 16:41

чёрт, попутал пробел с бэкспейсом. а как

получить ассоциированный массив
вида ?
[40->12.3; 10->10; 80->0.1]

Kolyaj 12.05.2010 16:43

Цитата:

Сообщение от andreevich
попутал пробел с бэкспейсом

Это не бэкспэйс, это граница слова.

Цитата:

Сообщение от andreevich
а как

получить ассоциированный массив

Ну массив совпадений получили, делайте с ним что хотите.

andreevich 12.05.2010 16:52

Вложений: 1
Ну тут на сайте вот такое видел ...


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