构建Swift / ObjC正则表达式

时间:2016-07-31 17:16:36

标签: swift nsregularexpression

在文本字符串中,我试图获取

之间的所有内容

fieldnames = ("user","messageid","message","destination", "code","mobile","mytimestamp") newData = [r"\'%s\': %s" % (tup, tup) for tup in fieldnames if tup!='destination' ] print('[' + ', '.join(newData) + ']') # [\'user\': user, \'messageid\': messageid, \'message\': message, \'code\': code, \'mobile\': mobile, \'mytimestamp\': mytimestamp] [DATA FORMAT]

/DATA FORMAT]Columns Format:

达到这个目标我使用正则表达式。

虽然模式

/DATA FORMAT]

按预期工作,模式

"\\[DATA FORMAT\\](.*?)\\[/DATA FORMAT\\]"

给出错误

"Columns Format(*.?)\\[/DATA FORMAT\\]" Optional("The value “Columns Format(*.?)\\[/DATA FORMAT\\]” is invalid.")

在控制台中打印(第一行:localizedFailureReason,第二行:localizedDescription)

我错过了什么?

代码:

The value “Columns Format(*.?)\[/DATA FORMAT\]” is invalid.

1 个答案:

答案 0 :(得分:2)

您在第二个正则表达式中交换了*.(在&#34之后的捕获组中;列格式")。这使正则表达式无效; *并不是指任何事情。