Czy to istnieje?JavaScript odpowiadający ciągowi Ruby # scan
muszę analizować ciąg jak:
the dog from the tree
i dostać coś takiego
[[null, "the dog"], ["from", "the tree"]]
które można zrobić w Ruby z jednej RegExp i String#scan
.
JavaScript na String#match
nie może sobie z tym poradzić, jak tylko wrócić co RegExp jest dopasowany, a nie grupy przechwytywania, więc zwraca coś takiego
["the dog", "from the tree"]
Ponieważ użyłem String#scan
wiele razy w mojej aplikacji Ruby, byłoby miło, gdyby był szybki sposób na zreplikowanie tego zachowania w moim porcie JavaScript.
EDIT: Oto RegExp Używam: http://pastebin.com/bncXtgYA
Dodałem to do mojego kodu i bezpośrednio zastąpiłem '.match' na' .scan', ale nadal nie działa. Oto RegExp, którego używam: http://pastebin.com/bncXtgYA (ciąg testowy: '" pies w drzewie "') Skopiowałem ten RegExp bezpośrednio z Ruby i jestem nowy w JS RegExp, więc może być z tym trochę problemami. – itdoesntwork
"* nie działa *" jest bez znaczenia. Próbowałem "" psa w drzewie ".scan (/ (? :(in | into | to | at | from))? ((? :(?: the | a | an))? (?: \ D + \. | all \.)? (?: \ w + | '[a-zA-Z0-9 \ s] *?'))/gi) 'i otrzymał' [[undefined, "pies"], [" w "," drzewie "]]'. – melpomene
Ah, przepraszam, jestem dum-dum i nie odczytałem poprawnie wyniku. Dzięki! – itdoesntwork