a = regexp(textfile,'apple(w*)orange','tokens')
我想提取文本文件中单词apple和orange之间的所有字符。一个例子是;
orangeSEM _DAIM_244.25orange,但是当我使用may代码时,我一无所获。
我尝试不使用橙色,所以这次我得到了SEM_DAIM_244,我想点(.(配置有问题。我无法补充。包括点,因为当我这样做的时候,它会给其他一些不包括点但位于苹果和橙色之间的单词带来问题,例如SEM_AIM_A
PS:我正在使用MATLAB:(
知道吗?
您可以在单词前后使用查找断言来匹配apple
或orange
,因为它们是查找断言,而不是匹配字符串的一部分,因此不会包含在匹配的令牌中
((?<=apple)|(?<=orange)).*((?=apple)|(?=orange))
该模式将在所有4种情况下与SEM_DAIM_244.25
匹配
orangeSEM_DAIM_244.25orange
orangeSEM_DAIM_244.25apple
appleSEM_DAIM_244.25orange
appleSEM_DAIM_244.25apple