Regexp,我想提取所有字符,包括位于预选单词之间的点(.)


a = regexp(textfile,'apple(w*)orange','tokens')

我想提取文本文件中单词apple和orange之间的所有字符。一个例子是;

orangeSEM _DAIM_244.25orange,但是当我使用may代码时,我一无所获。

我尝试不使用橙色,所以这次我得到了SEM_DAIM_244,我想点(.(配置有问题。我无法补充。包括点,因为当我这样做的时候,它会给其他一些不包括点但位于苹果和橙色之间的单词带来问题,例如SEM_AIM_A

PS:我正在使用MATLAB:(

知道吗?

您可以在单词前后使用查找断言来匹配appleorange,因为它们是查找断言,而不是匹配字符串的一部分,因此不会包含在匹配的令牌中

((?<=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

相关内容

  • 没有找到相关文章