如何检索标记内容以及以下数据

时间:2016-01-24 05:22:32

标签: regex d

我正在尝试创建一个正则表达式来分割着色器源代码,如下所示:

来源:

@shader(vertex):
...shader data...

@shader(fragment):
...shader data...

结果:

["vertex", "..shader data..", "fragment", "..shader data.."]

到目前为止,我只能在没有着色器类型的情况下隔离数据,或者我已经包含@shader(部分,但不包括类型。这是我到目前为止所得到的:@shader\(([^)]*?)\)。如何让分割器像这样拆分?感谢。

1 个答案:

答案 0 :(得分:0)

这应该有效

@shader\(([^)]*)\):(?:\r?\n)((?:[^@]|@(?!shader))*)

Demo