Matlab:regexp用法

时间:2015-10-30 19:30:01

标签: matlab

我将使用代码开始插图:

A = 'G1(General G1Airlines american G1Fungus )';

在Matlab中使用regexp(或任何其他函数)我想明确地找到:G1,G1A和G1F。

目前,如果我尝试做某事:

B = regexp( A, 'G1')

无法区分G1与G1A和G1F,即我需要强制比较才能找到我只有G1的情况而忽略G1A和G1F。

然而,当我在寻找G1A时,它仍然应该找到G1A的位置。

有人可以帮忙吗?

编辑:A的另一个案例是:

A = 'R1George Service SmalR1Al C&I)';

此次我需要找到的表达式是R1和R1A。

编辑: 我有一个巨大的数组包含A'以及另一个包含G1,R1等的大矢量我需要搜索。

1 个答案:

答案 0 :(得分:6)

如果您想查找'G1'但不是'G1A''G1F',可以使用

>> B = regexp(A, 'G1[^AF]')
B =
     1

这将找到'G1'^用于指定匹配[]中包含的任何字符。然后你可以使用

>> B = regexp(A, 'G1[AF]')
B =
    12    32

同时找到'G1A''G1F'