AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.07.2005, 12:04   #1  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,253 / 980 (37) +++++++
Регистрация: 03.04.2002
match
Уважаемые коллеги, прошу прощения за глупый вопрос, но как пользоваться функцией match?
Смотрю в документации:
PHP код:
Match("<A?sen","Andersen"); 
returns the value '1'.
Запускаю:
PHP код:
info(int2str(Match("<A?sen","Andersen"))); 
получаю: 0
Далее:
Match("]","And]ersen") = 1 - все замечательно
Match("[","And[ersen") = 0 - можно понять, т.к. символ [ используется в конструкции []
но почему ?
Match("\[","And[ersen") = 0
__________________
Isn't it nice when things just work?
Старый 19.07.2005, 12:08   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Думаю, это из разряда недоделок ядра.

Можно вместо этого использовать: match("[[]", "And[ersen")
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 19.07.2005, 12:14   #3  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
видимо \[ еще на этапе преобразования строкового литерала в строку преобразуется в один символ
с двойным бэкслэшом работает
Match("\\[","And[ersen")
Старый 19.07.2005, 12:15   #4  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
strlen("\[") = 1
Старый 19.07.2005, 12:36   #5  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,253 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Изначально опубликовано maxsmirnov
видимо \[ еще на этапе преобразования строкового литерала в строку преобразуется в один символ
с двойным бэкслэшом работает
Match("\\[","And[ersen")
Спасибо! Сам бы я до такого не додумался
Что пример:
PHP код:
Match("<A?sen","Andersen"); 
не работет, в принципе, понятно, т.к. судя по описанию "?" замещает только один символ. И конструкция:
PHP код:
Match("And?rsen","Andersen"
отрабатывает нормально.
__________________
Isn't it nice when things just work?
Старый 19.07.2005, 12:47   #6  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,253 / 980 (37) +++++++
Регистрация: 03.04.2002
P.S. Буду очень признателен, если Вы так же объясните мне назначение символов: "+", "-" и "*". По описанию, не совсем понятно, в чем между ними разница.
__________________
Isn't it nice when things just work?
Старый 19.07.2005, 12:56   #7  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
* - 0 или больше символов
+ - 1 или больше символов
- - 0 или 1 символ
Старый 19.07.2005, 14:06   #8  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,253 / 980 (37) +++++++
Регистрация: 03.04.2002
Спасибо, похоже, так и задумано.
Но все же не совсем понятно такое поведение:
Match("Ax*","Andersen") = 1 - понятно, "A" и
Цитата:
0 или больше символов
Match("x*sen","Andersen") = 1 - понятно,
Цитата:
0 или больше символов
и "sen"
Match("Ax*sen","Andersen") = 0 - не понятно
хотя и обходится с помощью:
Match("A:a*sen","Andersen")
P.S. все даже проще:
Match("A\*sen","Andersen")
__________________
Isn't it nice when things just work?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Match case чекбокс не дает эфекта на диалоге рефакторинга. HorrR DAX: Программирование 4 13.08.2008 18:50
XAL 3.5: поиск по шаблону EVGL DAX: Прочие вопросы 6 06.08.2008 10:54
axaptapedia: Regular expressions Blog bot DAX Blogs 0 04.06.2008 02:06
Функция, которая убирает перевод каретки в строке. NJD DAX: Программирование 19 27.07.2004 15:28
Поиск специальных символов Andrew Besedin DAX: Программирование 2 20.11.2002 11:17

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:51.