我将使用代码开始插图:
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等的大矢量我需要搜索。
答案 0 :(得分:6)
如果您想查找'G1'
但不是'G1A'
或'G1F'
,可以使用
>> B = regexp(A, 'G1[^AF]')
B =
1
这将找到'G1'
,^
用于指定不匹配[]
中包含的任何字符。然后你可以使用
>> B = regexp(A, 'G1[AF]')
B =
12 32
同时找到'G1A'
和'G1F'
。