stringlib:: maskMetaСпециальные символы регулярного выражения маски
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
stringlib::maskMeta(str)
stringlib::maskMeta(str) генерирует регулярное выражение (для использования с strmatch), который совпадает точно со строкой str.
С версии 3.2 MuPAD® strmatch использует соответствие регулярного выражения. Искать некоторую дословную подстроку поэтому требует специальных символов “выхода”, таких как * или (). stringlib::maskMeta выполняет эту задачу.
Попытка найти "a+b" в строке, которую "a+b+c" через strmatch приводит к сбою из-за особого характера "+" в регулярных выражениях, но почти по той же причине найден "a*b":
strmatch("a+b+c", "a+b"),
strmatch("a+b+c", "a*b")![]()
Используя stringlib::maskMeta, мы теряем способность использования регулярных выражений, но можем легко искать дословные строки:
strmatch("a+b+c", stringlib::maskMeta("a+b")),
strmatch("a+b+c", stringlib::maskMeta("a*b"))![]()
Вывод stringlib::maskMeta является только другой строкой, таким образом, комбинации с другими строками (содержащий метасимволы регулярного выражения) возможны:
strmatch("a+b+c", "^".stringlib::maskMeta("a+b")),
strmatch("a+b+c", "^".stringlib::maskMeta("b+c"))![]()
|
Непустая строка |
Строка