![]() |
Регулярные Выражение
Кто тут крутой шарит?
Я вторые сутки пытаюсь понять как составить регулярное выражение, которое бы искало в тексте [acronim="eXtensible Markup Language"]XML[/acronim] и заменяло бы его на <a href="asfunction...........">XML</a> Тоесть фактически ищем паттерн [acronim="(сколько угодно символов, и какие угодно)"](сколько угодно и какие угодно)[/acronim] Есть идеи? |
/[acronim="(.*)"](.*)[\/acronim]/i
ммм? Не проверял, правда. |
а что i на конце делает?
|
Игнорирование регистра — модификатор. Я не знаю, не смотрел, может в AS3 модификаторы в другом месте ставятся.
|
еще надо в конце g поставить (/ig будет), чтобы все вхождения искал, а не первое.
вроде так:) |
спасибо, завтра утром проверю =)
|
нифига не работает.
возвращает 1 (а в строке 2 акронима). |
Можно и регулярными выражениями.
Получится не менее трёх выражений. В таких случаях я по-прежнему юзаю самые классные и а теперь и чрезвычайно быстрые методы split() и join(). Во-первых быстрее. Регулярные выражения работают в среднем раз в 5 медленнее. Во-вторых, в регулярных выражениях есть какие-то то ли непонятки, то ли баги. Вобщем разочаровали меня регулярные выражения в АС3. |
Мирамакс, ты читал мой вопрос=)? как ты split\join ом сумеешь найти тэги с разным наполнением?
|
Код:
var str:String = "Текст[anchor='xmlLink'] в тексте есть такие места'] text sdfs[/anchor]или такие'][' [anchor='xmlLink'] ещё одна ссылка[/anchor]здесь нет ссылки [anchor='xmlLdfdfink']и ещё какая-то ссылка[/anchor]"; |
Тебе не кажется что заменять все символы ] не нужно =)? вдруг они используются еще для каких либо целей, а нужно заменять, только если они являются частью чего либо.
|
Цитата:
|
Nirth, я завтра поковыряюсь с регуляркой, напишу тогда. То, что я написал ранее было написано из головы и не проверялось.
|
Цитата:
|
не знаю на счет АС3, но хороший мануал по регулярным выражениям есть на пхпклубе.
если не читал (сомневаюсь :) ) посмотри. Цитата:
может она прекращает работу после первого вхождения? |
я ставил g и i и еще какой то указатесь, пользвался RegExp.exec(), и string.search() =) да я тупой в регулярных, я не скрываю, уже больше года (с альфа флекса) пытаюсь понять че в них =)
|
А я вот очень люблю регулярные выражения во флэше, и использую их даже там, где не надо... :)
Код:
var line = '[acronim="eXtensible Markup Language"]XML[/acronim] text text text text text text \ntext [acronim="eXtensible Markup Language Again"]another XML[/acronim]';У меня два вхождения числа 666 под аватарой! :eek: |
Цитата:
Nirth, сорри, НГ на носу, какой флеш… :D |
Цитата:
Код:
var line:String = '[acronim="eXtensible Markup Language"]XML[/acronim] text text text text text text \ntext [acronim="eXtensible Markup Language Again"]another XML[/acronim]';Но есть множество задач, где без регулярных выражений туго :) Цитата:
|
Цитата:
DFS оч. быстрые, NFS - смотря как использовать но медленней как они реализованы в АС я не знаю то НФС cкорее всего (DFS обычно в текстовиках) |
| Часовой пояс GMT +4, время: 08:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.