Не работает RegEx
В общем я знаком с регулярными выражениями под php. Создал выражение
(?<=q=).*?(?=[^A-Za-z0-9_\+])|(?<=q=).*$ Но оно не работает в javascript, пытался решить проблему, как я понял не работает конструкция <=, но как заменить её я не могу придумать, есть идеи? |
Цитата:
|
она парсит урл, точнее кусок урл. Он может быть такого вида:
http://www.google.com/search?sourcei...me&ie=UTF-8&q=javascript+ru без пробела в конце, либо такого: http://www.google.com/search?sourcei...=c3&xhr= t&q=javascript+ru&pf=p&sclient=psy-ab&oq=%D0%BE%D1%84%D0%BC%D1%84%D1%8B%D1%81%D0%BA&g s_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb &fp=35bf63437e7f3d7e&biw=1920&bih=1099 |
Цитата:
|
типо этого чтоль:
var m; var url = "http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=javascript+ru"; if ( m = /(?:q=)(.*?(?=[^A-Za-z0-9_\+])|.*$)/g.exec( url ) ) { alert( m.join("\n\n") ); } var url = "http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=javascript+regex+Invalid+group#hl=ru&gs_nf=1&pq=javascript%20%D0%B8%20php%20regexp%20%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F&cp=7&gs_id=c3&xhr=t&q=javascript+ru&pf=p&sclient=psy-ab&oq=%D0%BE%D1%84%D0%BC%D1%84%D1%8B%D1%81%D0%BA&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb &fp=35bf63437e7f3d7e&biw=1920&bih=1099"; if ( m = /(?:q=)(.*?(?=[^A-Za-z0-9_\+])|.*$)/g.exec( url ) ) { alert( m.join("\n\n") ); } |
Результат, который должен получиться выделе жирным шрифтом в моем предыдущем посте
|
Нужно, чтобы "q=" не входило в результат
|
Цитата:
var m; var url = "http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=javascript+ru"; if ( m = /(?:q=)(.*?(?=[^A-Za-z0-9_\+])|.*$)/g.exec( url ) ) { alert( m[1] ); } var url = "http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=javascript+regex+Invalid+group#hl=ru&gs_nf=1&pq=javascript%20%D0%B8%20php%20regexp%20%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F&cp=7&gs_id=c3&xhr=t&q=javascript+ru&pf=p&sclient=psy-ab&oq=%D0%BE%D1%84%D0%BC%D1%84%D1%8B%D1%81%D0%BA&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb &fp=35bf63437e7f3d7e&biw=1920&bih=1099"; if ( m = /(?:q=)(.*?(?=[^A-Za-z0-9_\+])|.*$)/g.exec( url ) ) { alert( m[1] ); } |
Часовой пояс GMT +3, время: 11:56. |