проблема с регулярным выражением очень нужна подсказка
есть выражение:
var mrt = /(|name="[.\\/#a-zA-Z0-9\\(]*|id="[#a-zA-Z0-9\(]*\(|src="[#a-zA-Z0-9\\(]*\\(|href="[#a-zA-Z0-9\(]*|">|\s>|https?:\/\/|ftp:\/\/)?www\.[-A-Z0-9+&@#\/%?=~_|!:,.;ï]*[-A-Z0-9+&@#\/%=~_|ï]/gim; браузер гугается так: SyntaxError: unterminated parenthetical и так Uncaught SyntaxError: Invalid regular expression: /(|name="[.\\/#a-zA-Z0-9\\(]*|id="[#a-zA-Z0-9\(]*\(|src="[#a-zA-Z0-9\\(]*\\(|href="[#a-zA-Z0-9\(]*|">|\s>|https?:\/\/|ftp:\/\/)?www\.[-A-Z0-9+&@#\/%?=~_|!:,.;ï]*[-A-Z0-9+&@#\/%=~_|ï]/: Unterminated group Подскажите, пожалуйста, в чем проблема зарыта? |
mixt,
Лучше поясните для чего она и что делает И пару тройку входных строк и выходных (для входных) после регулярки |
оно должно находить url в тексте
вот на такое не ругается: var mrt = /(src="|href="|">|\s>|https?:\/\/|ftp:\/\/)?www\.[-A-Z0-9+&@#\/%?=~_|!:,.;ï]*[-A-Z0-9+&@#\/%=~_|ï]/gim; а на усложненное верхнее ругается !!! |
Цитата:
var s='<script src="http://code.jquery.com/jquery-latest.js"></script\>'; alert(s.replace(/(src=(")|href=")[^"]+"/gi,'$1url$2')); |
Цитата:
|
так что нет идей?
|
Цитата:
Цитата:
|
а что значит входные и выходные строки?
|
mixt,
Регулярка используется для преобразования одной строки - в другую Поясните для чего она(что должна делать) и выложите примеры строк до преобразования и после |
Цитата:
- Обозначается проблема - Создаются тестовые примеры После чего можно приступать к устранению проблемы. Вариант "я тут чё-то намутил, подправьте мою муть" мало интересен и возможно безперспективен... |
так я проблему обозначил, может быть не четко сформулировал..за это извините.
Уточняю - проблема не в работоспособности самой регулярки - это не надо проверять, проблема в валидации этой строчки в браузерах....те браузер находит синтаксическую ошибку в конструкции...мне понять не удается в чем именно ..возможно какая-то скобка лищняя ,что-тов этом духе |
mixt,
замените это \( на это \u0028 и будет вам счастье валидное |
Цитата:
|
Цитата:
например тут id="[#a-zA-Z0-9\(]*\(|src="[#a-zA |
Первое выражение в самом первом сообщении начинается с открывающей круглой скобки (не экранированной), которая нигде не закрывается.
|
Цитата:
|
еще один вопрос, как правильно добавить в эту конструкцию [#a-zA-Z0-9\(] проверку не только по латинице, а по любой языковой раскладке?
|
Цитата:
для русского языка[#a-zA-Z0-9\(А-Яа-яЁё] |
как для русского отдельно сделать понятно, я имел ввиду что-то универсально ..чтобы и для китайског ои фрацузского срабатывало...
|
так какие идеи по вариантам для других языков?
|
Часовой пояс GMT +3, время: 11:47. |