我非常讨厌regex,这几天我一直把头撞在墙上.我正试图从一个网站上获取信息.用Python编写的nk nuke脚本.格式如下:
> BackdropNode {
inputs 0
name BackdropNode6
tile_color 0x555555ff
label RDN
note_font_size 42
xpos -1136
ypos -4272
bdwidth 451
bdheight 529
}
Write {
file "\[value project_directory]/_output_/\[string range \[file tail \[value root.name]] 0 20].mov"
colorspace sRGB
raw true
file_type mov\{(.*?)\}
mov64_format "mov (QuickTime / MOV)"
mov64_codec AVdh
mov64_dnxhd_codec_profile "DNxHD 422 8-bit 145Mbit"
mov64_dnxhr_codec_profile "SQ 4:2:2 8-bit"
mov64_pixel_format {{0} "yuv420p\tYCbCr 4:2:0 8-bit"}
mov64_quality High
mov64_advanced 1
mov64_write_timecode true
mov64_gop_size 12
mov64_b_frames 0
mov64_bitrate 20000
mov64_bitrate_tolerance 40000000
mov64_quality_min 2
mov64_quality_max 31
render_order 3
checkHashOnRead false
version 132
in_colorspace scene_linear
out_colorspace scene_linear
name Write2
xpos -1025
ypos 2230
}
有一个单词字符串,空格,开放curl ,然后是所有的东西,直到新的一行curl 括号.我想匹配第一根弦,然后是花括号内的所有东西.
我来到这里:
^([a-zA-Z]+\s)+(\{[^}]*.*\})$
这让我想到了第一个紧密的curl 括号.我希望一直到最后一个花括号.
所以匹配1是BackdropNode{…}BackdropNode的组1和{…}的组2.那么匹配2将是写入{…}第一组是Write,第二组是{…}.