RegExp и символ '?'
Например есть код:
var str = 'a bc'; var res = /(ab)?/.exec(str); alert(typeof res[1]); // IE выводит 'string'(возвращает пустую строку), Opera и FF - 'undefined' Как кроссбраузерно определить что вхождение не было найдно? Есть такой вариант: if (typeof res[1]!='undefined' && res[1]!='') .... Но он мне не очень нравится. Может есть вариант по короче? |
var str = 'abc'; var reg = /ab/; alert(reg.test(str)); |
Нужно регулярное выражение, именно с символом '?'. То есть в исходной строке могут быть 'обязательные' части и 'необязательные' (/.*(something)?.*(other)?.*(require).*/).
Хотелось бы обойтись одним вызовом exec(). |
зачем exec, если test работает быстрее?
нужно регулярное выражение с "?" - составляйте. Я не понимаю, что вам надо? |
Цитата:
|
[телепат mode]
человеку нужно var str = 'a bc'; var reg = /(ab)?/; var res = reg.test(str); // var res = reg.exec(str); // если нужно получить // доступ к подвыражениям if(res) alert('*YAHOO*'); [/телепат mode] |
Часовой пояс GMT +3, время: 21:44. |