Функции с использованием регулярных выражений

В XPath и XQuery определены следующие функции с использованием регулярных выражений:

· fn:matches($input as xs:string?, $pattern as xs:string, $flags as xs:string) as xs:boolean – возвращает true, если в строке $input встречается шаблон, заданному в строке $pattern, иначе возвращает false (необязательный параметр $flags содержит символы-флажки, задающие условия применения шаблона);

· fn:replace($input as xs:string?, $pattern as xs:string, $replacement as xs:string, $flags as xs:string) as xs:string – возвращает строку, которая получается при замене в строке $input соответствий шаблону, заданному в строке $pattern, строкой, заданной в параметре $replacement (необязательный параметр $flags содержит символы-флажки, задающие условия применения шаблона);

· fn:tokenize($input as xs:string?, $pattern as xs:string, $flags as xs:string) as xs:string* – возвращает последовательность строк, полученную разбиением исходной строки $input по разделительным подстрокам, заданным в шаблоне $pattern (необязательный параметр $flags содержит символы-флажки, задающие условия применения шаблона).

· Параметр $flags в приведенных функциях может содержать следующие флажки:

· s – метасимвол "." соответствует любому символу строки (если флажок s не задан, метасимвол "." соответствует любому символу строки, за исключением символа перехода на новую строку);

· m – исходная строка рассматривается как строка, состоящая из нескольких строк, если она содержит символы перехода на новую строку (если флажок m не задан, строка рассматривается как одна строка при использовании метасимволов поиска в начале строки "^" и в конце строки "$");

· i – поиск по шаблону не зависит от регистра букв (заглавные и строчные буквы считаются одинаковыми);

· x – пробельные символы перед поиском соответствия шаблону удаляются из строки, если они не заданы в шаблоне как класс символов (например, "\s").

 

Примеры использования регулярных выражений:

1. fn:matches("abcdef","de") – возвращает true.

2. fn:matches("abcdef","DE") – возвращает false.

3. fn:matches("abcdef","DE","i") – возвращает true.

4. fn:matches("AB CD","BC") – возвращает false.

5. fn:matches("AB CD","bc","ix") – возвращает true.

6. fn:matches("AB CD","b\sc","ix") – возвращает true.

7. fn:matches("AB

CD","B.*C") – возвращает false.

8. fn:matches("AB

CD","B.*C","s") – возвращает true.

9. fn:matches("AB

CD","^C") – возвращает false.

10. fn:matches("AB

CD","^C","m") – возвращает true.

11. fn:replace("aabcdaefaad","aa","a") – возвращает строку "abcdaefad".

12. fn:tokenize("a:b cd:f","(:| )") – возвращает строки "a", "b", "cd" и "f".








Дата добавления: 2015-03-19; просмотров: 640;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.