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"))
|
Непустая строка |
Строка