我们说我有以下字符串
begin: - number 1: word_12
begin: - number 3: word_31
begin: - number 3: word_11
begin: - number 9: word_43
基本上我只想在number \d:
(即word_12
,word_31
等)之后使用matlab中的正则表达式regexp((?<=[number ]\d: .*),'match')
来选择文本,但是我不知道如何构建正则表达式...
答案 0 :(得分:1)
s = {'begin: - number 1: word_12';
'begin: - number 3: word_31';
'begin: - number 3: word_11';
'begin: - number 9: word_43'};%a cell array of strings
re = '.*number \d: (.*)';
A = regexp(s,re,'tokens'); %a cell array of cells containing strings
正则表达式的输出有点搞笑,因为你必须&#34; dereference&#34;单元格两次得到一个字符串 - 例如。
A{1}{1}
ans =
'word_12'
有关更多信息,我发现Matlab的regexp帮助页面非常实用。