регулярное выражение с соответствующими каналами в строках соответствия и подстановки - PullRequest
2 голосов
/ 21 января 2012

Можно ли использовать соответствующие or операторы (|) в строках совпадений и подстановки подстановки регулярных выражений, так что список разных возможных совпадений заменяется соответствующим списком разных строк подстановки? Например,

perl -e '$str="word1"; $str=~s/1/2/; print $str."\n"'
  word2
perl -e '$str="word3"; $str=~s/3/4/; print $str."\n"'
  word4

perl -e '$str="word1"; $str=~s/1|3/2|4/; print $str."\n"'
  word2          (actual output: word2|4)
perl -e '$str="word3"; $str=~s/1|3/2|4/; print $str."\n"'
  word4          (actual output: word2|4)

Последние два оператора дают фиктивный (желательный) результат (реальный результат показан в скобках).

1 Ответ

2 голосов
/ 21 января 2012

Кредиты переходят к пользователю мю слишком короткий .

Подстановка регулярных выражений с использованием нескольких сопоставленных входных шаблонов и выходных строк достигается в Matlab, как показано в следующем примере.

str_match = cell(2,1); str_match{1}='1'; str_match{2}='3';
str_sub = cell(2,1); str_sub{1}='2'; str_sub{2}='4';
regexprep('word1',str_match,str_sub)
    ans = word2
regexprep('word3',str_match,str_sub)
    ans = word4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...