Совпадайте с (чувствительным к регистру) регулярным выражением
startIndex = regexp(str,expression)
[startIndex,endIndex] = regexp(str,expression)
out = regexp(str,expression,outkey)
[out1,...,outN] = regexp(str,expression,outkey1,...,outkeyN)
___ = regexp(___,option1,...,optionM)
___ = regexp(___,'forceCellOutput')
возвращает начальное значение индекса каждой подстроки startIndex = regexp(str,expression)
str
, который совпадает с символьными шаблонами, заданными регулярным выражением. Если нет никаких соответствий, startIndex
является пустым массивом.
возвращает запуск и конечные индексы всех соответствий.[startIndex,endIndex] = regexp(str,expression)
возвращает вывод, заданный out = regexp(str,expression,outkey)
outkey
. Например, если outkey
является 'match'
, то regexp
возвращает подстроки, которые совпадают с выражением, а не их начальными значениями индекса.
возвращает выходные параметры, заданные несколькими выходными ключевыми словами в заданном порядке. Например, если вы задаете [out1,...,outN] = regexp(str,expression,outkey1,...,outkeyN)
'match'
, 'tokens'
, затем regexp
возвращает подстроки, которые совпадают с целым выражением и лексемами, которые совпадают с частями выражения.
___ = regexp(___,'forceCellOutput')
возвращает каждый выходной аргумент как скалярную ячейку. Ячейки содержат числовые массивы или подстроки, которые описаны как выходные параметры предыдущих синтаксисов. Можно включать любой из входных параметров и запросить любые из выходных параметров от предыдущих синтаксисов.
Найдите слова, которые запускаются с c
, конца с t
, и содержат один или несколько гласных между ними.
str = 'bat cat can car coat court CUT ct CAT-scan'; expression = 'c[aeiou]+t'; startIndex = regexp(str,expression)
startIndex = 1×2
5 17
Регулярное выражение 'c[aeiou]+t'
задает этот шаблон:
c
должен быть первым символом.
c
должен сопровождаться одним из символов в скобках, [aeiou]
.
Шаблон на кронштейнах должен произойти один или несколько раз, как обозначено оператором +
.
t
должен быть последним знаком без символов между шаблоном на кронштейнах и t
.
Значения в startIndex
указывают на индекс первого символа каждого слова, которое совпадает с регулярным выражением. Соответствующее слово, которое cat
запускает в индексе 5 и coat
, запускается в индексе 17. CUT
слов и CAT
не соответствуют, потому что они являются прописными.
Найдите местоположение прописных букв и пробелов в векторах символов в массиве ячеек.
str = {'Madrid, Spain','Romeo and Juliet','MATLAB is great'}; capExpr = '[A-Z]'; spaceExpr = '\s'; capStartIndex = regexp(str,capExpr); spaceStartIndex = regexp(str,spaceExpr);
capStartIndex
и spaceStartIndex
являются массивами ячеек, потому что входной параметр str
является массивом ячеек.
Просмотрите индексы для прописных букв.
celldisp(capStartIndex)
capStartIndex{1} = 1 9 capStartIndex{2} = 1 11 capStartIndex{3} = 1 2 3 4 5 6
Просмотрите индексы для пробелов.
celldisp(spaceStartIndex)
spaceStartIndex{1} = 8 spaceStartIndex{2} = 6 10 spaceStartIndex{3} = 7 10
Получите слова в векторе символа, которые содержат букву x
.
str = 'EXTRA! The regexp function helps you relax.'; expression = '\w*x\w*'; matchStr = regexp(str,expression,'match')
matchStr = 1x2 cell array
{'regexp'} {'relax'}
Регулярное выражение '\w*x\w*'
указывает что вектор символа:
Начинается с любого количества алфавитно-цифровых символов или символов подчеркивания, \w*
.
Содержит строчную букву x
.
Концы с любым количеством алфавитно-цифровых символов или символов подчеркивания после x
, включая ни один, как обозначено \w*
.
Разделите вектор символа в несколько подстрок, где каждая подстрока разграничена символом ^
.
str = ['Split ^this text into ^several pieces']; expression = '\^'; splitStr = regexp(str,expression,'split')
splitStr = 1x3 cell array
{'Split '} {'this text into '} {'several pieces'}
Поскольку символ вставки имеет особое значение в регулярных выражениях, предшествуйте ему с символом ESC, наклонная черта влево (\
). Чтобы разделить вектор символа в других разделителях, таких как точка с запятой, вы не должны включать наклонную черту влево.
Получите части вектора символа, которые совпадают с регулярным выражением с помощью ключевого слова 'match'
и остающихся частей, которые не совпадают с использованием ключевого слова 'split'
.
str = 'She sells sea shells by the seashore.'; expression = '[Ss]h.'; [match,noMatch] = regexp(str,expression,'match','split')
match = 1x3 cell array
{'She'} {'she'} {'sho'}
noMatch = 1x4 cell array
{0x0 char} {' sells sea '} {'lls by the sea'} {'re.'}
Регулярное выражение '[Ss]h.'
указывает что:
S
или s
являются первым символом.
h
является вторым символом.
Третий символ может быть чем-либо, включая пробел, как обозначено точкой (.
).
Когда первое (или в последний раз) символ в векторе символа совпадает с регулярным выражением, первое (или в последний раз), возвращаемое значение от ключевого слова 'split'
является пустым символьным вектором.
Опционально, повторно соберите вектор исходного символа из подстрок.
combinedStr = strjoin(noMatch,match)
combinedStr = 'She sells sea shells by the seashore.'
Найдите имена HTML-тэгов путем определения лексемы в регулярном выражении. Лексемы обозначаются с круглыми скобками, ()
.
str = '<title>My Title</title><p>Here is some text.</p>'; expression = '<(\w+).*>.*</\1>'; [tokens,matches] = regexp(str,expression,'tokens','match');
Регулярное выражение <(\w+).*>.*</\1>
задает этот шаблон:
<(\w+)
находит открывающую угловую скобку сопровождаемой одним или несколькими алфавитно-цифровыми символами или символами подчеркивания. Заключение в круглые скобки \w+
в круглых скобках получает имя HTML-тэга в лексеме.
.*>
находит любое количество дополнительных символов, таких как HTML-атрибуты и закрывающая угловая скобка.
</\1>
находит конечный тэг, соответствующий первой лексеме (обозначенный \1
). Конечный тэг имеет форму </tagname>
.
Просмотрите лексемы и соответствие с подстроками.
celldisp(tokens)
tokens{1}{1} = title tokens{2}{1} = p
celldisp(matches)
matches{1} = <title>My Title</title> matches{2} = <p>Here is some text.</p>
Проанализируйте даты, которые могут появиться или со днем или с месяцем сначала в этих формах: mm/dd/yyyy
или dd-mm-yyyy
. Используйте названные лексемы, чтобы идентифицировать каждую часть даты.
str = '01/11/2000 20-02-2020 03/30/2000 16-04-2020'; expression = ['(?<month>\d+)/(?<day>\d+)/(?<year>\d+)|'... '(?<day>\d+)-(?<month>\d+)-(?<year>\d+)']; tokenNames = regexp(str,expression,'names');
Регулярное выражение задает этот шаблон:
(?<name>\d+)
находит одну или несколько числовых цифр и присваивает результат лексеме, обозначенной по наименованию.
| логический оператор or
, который указывает, что существует два возможных шаблона для дат. В первом шаблоне наклонные черты (/
) разделяют лексемы. Во втором шаблоне дефисы (-
) разделяют лексемы.
Просмотрите именованные лексемы.
for k = 1:length(tokenNames) disp(tokenNames(k)) end
month: '01' day: '11' year: '2000' month: '02' day: '20' year: '2020' month: '03' day: '30' year: '2000' month: '04' day: '16' year: '2020'
Найдите и прописные и строчные экземпляры слова.
По умолчанию regexp
выполняет чувствительное к регистру соответствие.
str = 'A character vector with UPPERCASE and lowercase text.'; expression = '\w*case'; matchStr = regexp(str,expression,'match')
matchStr = 1x1 cell array
{'lowercase'}
Регулярное выражение указывает что вектор символа:
Начинается с любого количества алфавитно-цифровых символов или символов подчеркивания, \w*
.
Концы с буквенным текстом case
.
Функция regexpi
использует тот же синтаксис в качестве regexp
, но выполняет нечувствительное к регистру соответствие.
matchWithRegexpi = regexpi(str,expression,'match')
matchWithRegexpi = 1x2 cell array
{'UPPERCASE'} {'lowercase'}
Также отключите чувствительное к регистру соответствие для regexp
с помощью опции 'ignorecase'
.
matchWithIgnorecase = regexp(str,expression,'match','ignorecase')
matchWithIgnorecase = 1x2 cell array
{'UPPERCASE'} {'lowercase'}
Для нескольких выражений отключите чувствительное к регистру соответствие для выбранных выражений с помощью флага поиска (?i)
.
expression = {'(?-i)\w*case';... '(?i)\w*case'}; matchStr = regexp(str,expression,'match'); celldisp(matchStr)
matchStr{1}{1} = lowercase matchStr{2}{1} = UPPERCASE matchStr{2}{2} = lowercase
Создайте вектор символа, который содержит новую строку, \n
, и проанализируйте его с помощью регулярного выражения. Поскольку regexp
возвращает matchStr
как массив ячеек, содержащий текст, который имеет несколько строк, можно вынуть текст из массива ячеек, чтобы отобразить все строки.
str = sprintf('abc\n de'); expression = '.*'; matchStr = regexp(str,expression,'match'); matchStr{:}
ans = 'abc de'
По умолчанию точка (.
) совпадает с каждым символом, включая новую строку, и возвращает единственное соответствие, которое эквивалентно вектору исходного символа.
Исключите символы новой строки из соответствия с помощью опции 'dotexceptnewline'
. Это возвращает отдельные соответствия для каждой строки текста.
matchStrNoNewline = regexp(str,expression,'match','dotexceptnewline')
matchStrNoNewline = 1x2 cell array
{'abc'} {' de'}
Найдите первый или последний знак каждой строки с помощью ^
или метасимволов $
и опции 'lineanchors'
.
expression = '.$'; lastInLine = regexp(str,expression,'match','lineanchors')
lastInLine = 1x2 cell array
{'c'} {'e'}
Найдите соответствия в части текста и возвратите вывод в скалярной ячейке.
Найдите слова, которые запускаются с c, конца с t, и содержат один или несколько гласных между ними. Возвратите начальные значения индекса в скалярной ячейке.
str = 'bat cat can car coat court CUT ct CAT-scan'; expression = 'c[aeiou]+t'; startIndex = regexp(str,expression,'forceCellOutput')
startIndex = 1x1 cell array
{1x2 double}
Чтобы получить доступ к начальным значениям индекса как к числовому массиву, индексируйте в ячейку.
startIndex{1}
ans = 1×2
5 17
Возвратите соответствие и несоответствие с подстроками. Каждый вывод находится в своей собственной скалярной ячейке.
[match,noMatch] = regexp(str,expression,'match','split','forceCellOutput')
match = 1x1 cell array
{1x2 cell}
noMatch = 1x1 cell array
{1x3 cell}
Чтобы получить доступ к массиву соответствий, индексируйте в match
.
match{1}
ans = 1x2 cell array
{'cat'} {'coat'}
Получить доступ к подстрокам, которые не соответствуют, индекс в noMatch
.
noMatch{1}
ans = 1x3 cell array
{'bat '} {' can car '} {' court CUT ct C...'}
str
Введите текстВведите текст, заданный как вектор символа, массив ячеек из символьных векторов или массив строк. Каждый вектор символа в массиве ячеек или каждая строка в массиве строк, может иметь любую длину и содержать любые символы.
Если str
и expression
являются массивами строк или массивами ячеек, у них должны быть те же размерности.
Типы данных: string | char | cell
выражение
Регулярное выражениеРегулярное выражение, заданное как вектор символа, массив ячеек из символьных векторов или массив строк. Каждое выражение может содержать символы, метасимволы, операторы, лексемы и флаги, которые задают шаблоны, чтобы соответствовать в str
.
Следующие таблицы описывают элементы регулярных выражений.
Метасимволы
Метасимволы представляют буквы, обозначают буквами области значений, цифры и пробелы. Используйте их, чтобы создать обобщенный шаблон символов.
Метасимвол | Описание | Пример |
---|---|---|
| Любой отдельный символ, включая пробел |
|
| Любой символ содержится в квадратных скобках. Следующие символы обработаны буквально: |
|
| Любой символ, не содержавший в квадратных скобках. Следующие символы обработаны буквально: |
|
| Любой символ в области значений |
|
| Любой алфавитный, числовой, или символ подчеркивания. Для английских наборов символов |
|
| Любой символ, который не является алфавитным, числовым, или подчеркивание. Для английских наборов символов |
|
| Любой пробельный символ; эквивалентный |
|
| Любой непробельный символ; эквивалентный |
|
| Любая числовая цифра; эквивалентный |
|
| Любой символ нецифры; эквивалентный |
|
| Символ восьмеричного значения |
|
| Символ шестнадцатеричного значения |
|
Символьное представление
Оператор | Описание |
---|---|
| Предупреждение (звуковой сигнал) |
| Клавиша Backspace |
| Перевод формата |
| Новая строка |
| Возврат каретки |
| Горизонтальная вкладка |
| Вертикальная вкладка |
| Любой символ с особым значением в регулярных выражениях, с которыми вы хотите совпадать буквально (например, используйте |
Кванторы
Кванторы задают число раз, шаблон должен произойти в совпавшем тексте.
Квантор | Совпадает с выражением, когда оно происходит... | Пример |
---|---|---|
| 0 или больше раз последовательно. |
|
| 0 раз или в 1 раз. |
|
| 1 или более раз последовательно. |
|
| По крайней мере, времена
|
|
| По крайней мере, времена
|
|
| Точно времена Эквивалентный |
|
Кванторы могут появиться в трех режимах, описанных в следующей таблице. q представляет любой из кванторов в предыдущей таблице.
Режим | Описание | Пример |
---|---|---|
| Жадное выражение: совпадайте с как можно большим количеством символов. | Учитывая текст
|
| Ленивое выражение: совпадайте с таким же небольшим количеством символов по мере необходимости. | Учитывая text
|
| Притяжательное выражение: соответствуйте как можно больше, но не повторно сканируйте фрагменты текста. | Учитывая text |
Группировка операторов
Группирующиеся операторы позволяют вам получать лексемы, применять один оператор к нескольким элементам или отключать отслеживание в обратном порядке в определенной группе.
Группировка оператора | Описание | Пример |
---|---|---|
| Элементы группы выражения и лексем получения. |
|
| Группа, но не получают лексемы. |
Без группировки |
| Сгруппируйтесь атомарно. Не отслеживайте в обратном порядке в группе, чтобы завершить соответствие и не получить лексемы. |
|
| Совпадайте с выражением Если существует соответствие с Можно включать |
|
Привязки
Привязки в выражении совпадают с началом или концом входного текста или слова.
Привязка | Соответствует... | Пример |
---|---|---|
| Начало входного текста. |
|
| Конец входного текста. |
|
| Начало слова. |
|
| Конец слова. |
|
Утверждения Lookaround
Утверждения Lookaround ищут шаблоны, которые сразу предшествуют или следуют за намеченным соответствием, но не являются частью соответствия.
Указатель остается в текущем местоположении, и символы, которые соответствуют выражению test
, не получены или отброшены. Поэтому предварительные утверждения могут совпадать с перекрывающимися группами символов.
Утверждение Lookaround | Описание | Пример |
---|---|---|
| Предусмотрите для символов то соответствие |
|
| Смотрите вперед для символов, которые не совпадают |
|
| Оглянитесь для символов то соответствие |
|
| Оглянитесь для символов, которые не совпадают |
|
Если вы задаете предварительное утверждение, прежде чем выражение, операция будет эквивалентна логическому AND
.
Операция | Описание | Пример |
---|---|---|
| Совпадайте и |
|
| Совпадайте |
|
Логические и условные операторы
Логические и условные операторы позволяют вам тестировать состояние данного условия, и затем использовать результат, чтобы определить который шаблон, если таковые имеются, соответствовать затем. Эти операторы поддерживают логический OR
, и условия if/else
или if
.
Условия могут быть лексемами, lookaround операторы или динамические выражения формы (?@cmd)
{cmd}. Динамические выражения должны возвратить логическое или числовое значение.
Условный оператор | Описание | Пример |
---|---|---|
| Совпадайте с выражением Если существует соответствие с |
|
| Если условие |
|
| Если условие |
|
Маркерные операторы
Лексемы являются фрагментами совпадающего текста, который вы задаете путем включения части регулярного выражения в круглых скобках. Можно обратиться к лексеме ее последовательностью в тексте (порядковая лексема) или присвоить имена к лексемам для более легкого обслуживания кода и читаемого вывода.
Порядковый маркерный оператор | Описание | Пример |
---|---|---|
| Получите в лексеме символы, которые совпадают с заключенным в нихом выражение. |
|
| Совпадайте |
|
| Если |
|
Названный маркерный оператор | Описание | Пример |
---|---|---|
| Получите в именованной лексеме символы, которые совпадают с заключенным в нихом выражение. |
|
| Совпадайте с лексемой, упомянутой |
|
| Если именованная лексема найдена, то совпадайте |
|
Если выражение вложило круглые скобки, MATLAB® получает лексемы, которые соответствуют наиболее удаленному набору круглых скобок. Например, учитывая поисковый шаблон '(and(y|rew))'
, MATLAB создает лексему для 'andrew'
, но не для 'y'
или 'rew'
.
Динамические регулярные выражения
Динамические выражения позволяют вам выполнять команду MATLAB или регулярное выражение, чтобы определить текст, чтобы соответствовать.
Круглые скобки, которые заключают динамические выражения, не создают группу фиксации.
Оператор | Описание | Пример |
---|---|---|
| Проанализируйте Когда проанализировано, |
|
| Выполните команду MATLAB, представленную |
|
| Выполните команду MATLAB, представленную |
|
В рамках динамических выражений используйте следующие операторы, чтобы задать текст замены.
Заменяющий оператор | Описание |
---|---|
| Фрагмент входного текста, который в настоящее время является соответствием |
| Фрагмент входного текста, который предшествует текущему соответствию |
| Фрагмент входного текста, который следует за текущим соответствием (используют |
|
|
| Названная лексема |
| Выведите возвратился, когда MATLAB выполняет команду, |
Комментарии
'characters' | Описание | Пример |
---|---|---|
(?#comment) | Вставьте комментарий в регулярное выражение. Текст комментария проигнорирован при соответствии с входным параметром. |
|
Поисковые флаги
Поисковые флаги изменяют поведение для соответствия с выражениями. Альтернатива использованию поискового флага в рамках выражения должна передать входной параметр option
.
Флаг | Описание |
---|---|
i | Совпадайте с регистром (значение по умолчанию для |
i | Не совпадайте с регистром (значение по умолчанию для |
S | Совпадайте с точкой ( |
S | Точка соответствия в шаблоне с любым символом, который не является символом новой строки. |
M | Совпадайте |
M | Совпадайте |
X | Включайте пробелы и комментарии при соответствии (значение по умолчанию). |
X | Проигнорируйте пробелы и комментарии при соответствии. Используйте |
Выражение, которое изменяет флаг, может появиться любой после круглых скобок, такой как
(?i)\w*
или в круглых скобках и разделенный от флага с двоеточием (:
), такой как
(?i:\w*)
Последний синтаксис позволяет вам изменять поведение для части большего выражения.
Типы данных: char
| ячейка
| строка
outkey
Ключевое слово, которое указывает который выходные параметры возвратиться'start'
(значение по умолчанию) | 'end'
| 'tokenExtents'
| 'match'
| 'tokens'
| 'names'
| 'split'
Ключевое слово, которое указывает, который выходные параметры возвратиться, задало как одни из следующих векторов символов.
Выведите ключевое слово | Возвращается |
---|---|
| Начальные значения индекса всех соответствий, |
| Конечные индексы всех соответствий, |
| Запуск и конечные индексы всех лексем |
| Текст каждой подстроки, которая совпадает с шаблоном в |
| Текст каждой полученной лексемы в |
| Имя и текст каждой именованной лексемы |
| Текст несоответствия с подстроками |
Типы данных: char | string
option
— Параметр поиска'once'
| 'warnings'
| 'ignorecase'
| 'emptymatch'
| 'dotexceptnewline'
| 'lineanchors'
|...Параметр поиска, заданный как вектор символа. Опции появляются в пары: одна опция, которая соответствует поведению по умолчанию и одной опции, которая позволяет вам заменять значение по умолчанию. Задайте только одну опцию от пары. Опции могут появиться в любом порядке.
Значение по умолчанию |
Переопределение |
Описание |
---|---|---|
|
|
Совпадайте с выражением максимально много раз (значение по умолчанию), или только однажды. |
|
|
Отключите предупреждения (значение по умолчанию) или отобразите их. |
|
|
Совпадайте с регистром (значение по умолчанию) или игнорируйте регистр. |
|
|
Проигнорируйте нулевые соответствия длины (значение по умолчанию) или включайте их. |
|
|
Точка соответствия с любым символом (значение по умолчанию) или все кроме новой строки ( |
|
| Примените |
|
|
Включайте пробелы и комментарии при соответствии (значение по умолчанию), или проигнорируйте их. С |
Типы данных: char | string
startIndex
Начальное значение индекса каждого соответствияНачальные значения индекса каждого соответствия, возвращенного как вектор - строка или массив ячеек, можно следующим образом:
Если str
и expression
являются оба векторами символов или представляют скаляры в виде строки, вывод является вектором - строкой (или, при отсутствии соответствий, пустого массива).
Если или str
или expression
являются массивом ячеек из символьных векторов, или массив строк и другой являются вектором символа или скаляром строки, вывод является массивом ячеек векторов - строк. Выходной массив ячеек имеет те же размерности как входной массив.
Если str
и expression
являются оба массивами ячеек или массивами строк, у них должны быть те же размерности. Вывод является массивом ячеек с теми же размерностями.
endIndex
Конечный индекс каждого соответствияКонечный индекс каждого соответствия, возвращенного как вектор - строка или массив ячеек, можно следующим образом:
Если str
и expression
являются оба векторами символов или представляют скаляры в виде строки, вывод является вектором - строкой (или, при отсутствии соответствий, пустого массива).
Если или str
или expression
являются массивом ячеек из символьных векторов, или массив строк и другой являются вектором символа или скаляром строки, вывод является массивом ячеек векторов - строк. Выходной массив ячеек имеет те же размерности как входной массив.
Если str
и expression
являются оба массивами ячеек или массивами строк, у них должны быть те же размерности. Вывод является массивом ячеек с теми же размерностями.
out
— Информация о соответствияхИнформация о соответствиях, возвращенных как числовое, ячейка, строка или массив структур. Информация в выводе зависит от значения, которое вы задаете для outkey
, можно следующим образом.
Выведите ключевое слово | Выведите описание | Выведите тип и размерности |
---|---|---|
| Начальные значения индекса соответствий | И для
|
| Конечные индексы соответствий | |
| Запуск и конечные индексы всех лексем | По умолчанию, при возврате всех соответствий:
Когда вы задаете опцию Если лексема ожидается в конкретном индексе |
| Текст каждой подстроки, которая совпадает с шаблоном в | По умолчанию, при возврате всех соответствий:
Когда вы задаете опцию |
| Текст каждой полученной лексемы в | По умолчанию, при возврате всех соответствий:
Когда вы задаете опцию Если лексема ожидается в конкретном индексе, но не найдена, то MATLAB возвращает пустое значение для лексемы, |
| Имя и текст каждой именованной лексемы | Для всех соответствий:
|
| Текст несоответствия с подстроками | Для всех соответствий:
|
Лексемы являются фрагментами совпадающего текста, которые соответствуют фрагментам регулярного выражения. Чтобы создать лексемы, заключите часть регулярного выражения в круглых скобках.
Например, это выражение находит дату формы dd-mmm-yyyy
, включая лексемы в течение дня, месяца и года.
str = 'Here is a date: 01-Apr-2020'; expression = '(\d+)-(\w+)-(\d+)'; mydate = regexp(str,expression,'tokens'); mydate{:}
ans = '01' 'April' '2020'
Можно сопоставить имена с лексемами так, чтобы они были более легко идентифицируемыми:
str = 'Here is a date: 01-Apr-2020'; expression = '(?<day>\d+)-(?<month>\w+)-(?<year>\d+)'; mydate = regexp(str,expression,'names')
mydate = day: '01' month: 'Apr' year: '2020'
Для получения дополнительной информации смотрите Лексемы в Регулярных выражениях.
MATLAB анализирует каждый вектор вводимого символа или строку слева направо, пытаясь совпадать с текстом в векторе символа или строке с первым элементом регулярного выражения. Во время этого процесса MATLAB перескакивает через любой текст, который не соответствует.
Когда MATLAB находит первое соответствие, он продолжает анализировать, чтобы совпадать со второй частью выражения и так далее.
содержит
| regexpi
| regexprep
| regexptranslate
| замена
| strfind
| strjoin
| strrep
| strsplit
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.