【发布时间】:2014-11-30 19:27:00
【问题描述】:
我正在尝试在 MATLAB 中解析文本文档并使用 strsplit 将其拆分为多个部分。每个部分都由如下所示的字符串划分:
483.3731 EXP New trial (rep=0, index=1): {u'selectPlayer': 1, u'neutralStim4': u'PSYCHOLOGIST', u'neutralStim2': u'PONG', u'neutralStim': u'YEN', u'positiveStim': u'PEACEFUL', u'neutralStim3': u'DASH', u'positiveStim3': u'HAPPY', u'positiveStim2': u'HONORABLE', u'negativeStim': u'BETRAYAL', u'negativeStim4': u'GUNPOINT', u'negativeStim3': u'JEALOUS', u'negativeStim2': u'MISTRUST', u'positiveStim4': u'AWESOME'}
每个部分都包含一个数字变体,后跟“EXP”,然后是“New trial”和一个可变字符串,即 (rep=1, index=1: {u'SelectPlayer': 2, ..)。
我目前有以下代码试图解析这个文档,但我无法让它工作!
expr = '\n\d+\s*EXP\s*New Trial\s*\w+\n';
filecontents = fileread('LAILA_exp1_noCBB_fMRIsync_2014_Oct_28_1239.log');
filecontents = strsplit(filecontents,expr,'DelimiterType','RegularExpression');
我已经尝试了这个正则表达式的多种变体,但我只是不断得到一个包含整个文件作为字符串的单元格数组。谁能指点一下如何为包含多个组的字符串编写正则表达式,例如这个?
谢谢, 阴暗的
【问题讨论】: