matlab中的简单正则表达式

时间:2014-03-26 23:05:00

标签: regex string matlab

我们说我有以下字符串

begin: - number 1: word_12

begin: - number 3: word_31

begin: - number 3: word_11

begin: - number 9: word_43

基本上我只想在number \d:(即word_12word_31等)之后使用matlab中的正则表达式regexp((?<=[number ]\d: .*),'match')来选择文本,但是我不知道如何构建正则表达式...

1 个答案:

答案 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帮助页面非常实用。