Matlab:regexp用法

Zan*_*nam 1 matlab

我将使用代码开始插图:

A = 'G1(General G1Airlines american G1Fungus )';
Run Code Online (Sandbox Code Playgroud)

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

目前,如果我尝试做以下事情:

B = regexp( A, 'G1')
Run Code Online (Sandbox Code Playgroud)

它无法区分G1与G1A和G1F,即我需要强制比较,只找到G1的情况,忽略G1A和G1F.

但是,当我在寻找G1A时,它仍然应该找到G1A的位置.

有人可以帮忙吗?

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

A = 'R1George Service SmalR1Al C&I)';
Run Code Online (Sandbox Code Playgroud)

而这次我需要找到的表达式是R1和R1A.

编辑:我有一个包含A的巨型数组和另一个包含G1,R1等的大向量我需要搜索.

IKa*_*agh 6

如果你想找到'G1'但不能'G1A''G1F'你可以使用

>> B = regexp(A, 'G1[^AF]')
B =
     1
Run Code Online (Sandbox Code Playgroud)

这将发现'G1'^用来指定它应该匹配包含任何字符[].然后你可以使用

>> B = regexp(A, 'G1[AF]')
B =
    12    32
Run Code Online (Sandbox Code Playgroud)

找到'G1A''G1F'.