Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gm

Test String

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "(?m)(\s\{\s*"\$name": "use_specular_aa",\s*"\$type": "::bool",\s*"\$value": )true(\s*\})" Local $sString = " "$name": "Materials"," & @CRLF & _ " "$type": "tdb::Folder"," & @CRLF & _ " "$children": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "Official_colours"," & @CRLF & _ " "$type": "tdb::Folder"," & @CRLF & _ " "$children": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "car_Dodge_Viper_ACR_carpaint_silver"," & @CRLF & _ " "$type": "@tts::editor::MaterialEntity"," & @CRLF & _ " "$params": {" & @CRLF & _ " "lightmapSpecificParams": {" & @CRLF & _ " "shadowColor": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "transparencyMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseMapOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseColorOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMapUVChannelIdx": 1," & @CRLF & _ " "diffuseMapUVChannelIdx": 1," & @CRLF & _ " "emissiveMultiplier": 1.0," & @CRLF & _ " "singleSided": false" & @CRLF & _ " }," & @CRLF & _ " "metashaderRef": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/shaders/carpaint.jshader"" & @CRLF & _ " }," & @CRLF & _ " "features": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedo_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "occlusion_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "tint_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map_no_occlusion"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_diffuse"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map_uv2"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specular_dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "always_use_transparency"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_paint_flakes"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_diffuse_reflection"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_material_texture_mask"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_LOD_alpha_switch"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_floor_ao"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_specular_aa"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "constants": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBAf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.03235999867320061," & @CRLF & _ " 0.03824000060558319," & @CRLF & _ " 0.04236000031232834," & @CRLF & _ " 1.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.10000000149011612" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionExponent"," & @CRLF & _ " "$type": "::ReflectionFresnelExponent"," & @CRLF & _ " "$value": 5.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionScale"," & @CRLF & _ " "$type": "::ReflectionScale"," & @CRLF & _ " "$value": 1.5" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "flakesTilingMultiplier"," & @CRLF & _ " "$type": "::NoiseTilingMultiplier"," & @CRLF & _ " "$value": [" & @CRLF & _ " 30.0," & @CRLF & _ " 30.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualToneAlbedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.25308001041412356," & @CRLF & _ " 0.29142001271247866," & @CRLF & _ " 0.3487899899482727" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualTonePower"," & @CRLF & _ " "$type": "::MaterialExponent"," & @CRLF & _ " "$value": 10.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirtFactor"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damageFactorPerSideLRFB"," & @CRLF & _ " "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.10000000149011612" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "generalFlakesScale"," & @CRLF & _ " "$type": "::CarpaintFlakesScale"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "directionalFlakesScale"," & @CRLF & _ " "$type": "::CarpaintFlakesScale"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specularAAAmount"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "textures": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "attributes"," & @CRLF & _ " "$type": "::AttributesMapReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "flakes"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"" & @CRLF & _ " }" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "renderState": {" & @CRLF & _ " "blendingMode": "Opaque"," & @CRLF & _ " "depthWrite": "Auto"," & @CRLF & _ " "twoSided": false," & @CRLF & _ " "renderLayer": 0," & @CRLF & _ " "renderPass": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " "materialComponent": {}" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "car_Dodge_Viper_ACR_carpaint_red"," & @CRLF & _ " "$type": "@tts::editor::MaterialEntity"," & @CRLF & _ " "$params": {" & @CRLF & _ " "lightmapSpecificParams": {" & @CRLF & _ " "shadowColor": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "transparencyMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseMapOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseColorOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMapUVChannelIdx": 1," & @CRLF & _ " "diffuseMapUVChannelIdx": 1," & @CRLF & _ " "emissiveMultiplier": 1.0," & @CRLF & _ " "singleSided": false" & @CRLF & _ " }," & @CRLF & _ " "metashaderRef": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/shaders/carpaint.jshader"" & @CRLF & _ " }," & @CRLF & _ " "features": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedo_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "occlusion_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "tint_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map_no_occlusion"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_diffuse"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map_uv2"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specular_dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "always_use_transparency"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_paint_flakes"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_diffuse_reflection"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_material_texture_mask"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_LOD_alpha_switch"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_floor_ao"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_specular_aa"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "constants": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBAf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.21041999757289887," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 1.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.10000000149011612" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionExponent"," & @CRLF & _ " "$type": "::ReflectionFresnelExponent"," & @CRLF & _ " "$value": 5.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionScale"," & @CRLF & _ " "$type": "::ReflectionScale"," & @CRLF & _ " "$value": 1.5" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "flakesTilingMultiplier"," & @CRLF & _ " "$type": "::NoiseTilingMultiplier"," & @CRLF & _ " "$value": [" & @CRLF & _ " 30.0," & @CRLF & _ " 30.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualToneAlbedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.6226800084114075," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualTonePower"," & @CRLF & _ " "$type": "::MaterialExponent"," & @CRLF & _ " "$value": 30.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirtFactor"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damageFactorPerSideLRFB"," & @CRLF & _ " "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "generalFlakesScale"," & @CRLF & _ " "$type": "::CarpaintFlakesScale"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "directionalFlakesScale"," & @CRLF & _ " "$type": "::CarpaintFlakesScale"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specularAAAmount"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "textures": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "damage"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "flakes"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "attributes"," & @CRLF & _ " "$type": "::AttributesMapReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "renderState": {" & @CRLF & _ " "blendingMode": "Opaque"," & @CRLF & _ " "depthWrite": "Auto"," & @CRLF & _ " "twoSided": false," & @CRLF & _ " "renderLayer": 0," & @CRLF & _ " "renderPass": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " "materialComponent": {}" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "car_Dodge_Viper_ACR_carpaint_blue"," & @CRLF & _ " "$type": "@tts::editor::MaterialEntity"," & @CRLF & _ " "$params": {" & @CRLF & _ " "lightmapSpecificParams": {" & @CRLF & _ " "shadowColor": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "transparencyMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseMapOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseColorOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMapUVChannelIdx": 1," & @CRLF & _ " "diffuseMapUVChannelIdx": 1," & @CRLF & _ " "emissiveMultiplier": 1.0," & @CRLF & _ " "singleSided": false" & @CRLF & _ " }," & @CRLF & _ " "metashaderRef": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/shaders/carpaint.jshader"" & @CRLF & _ " }," & @CRLF & _ " "features": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedo_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "occlusion_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "tint_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map_no_occlusion"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_diffuse"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map_uv2"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specular_dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "always_use_transparency"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_paint_flakes"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_diffuse_reflection"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_material_texture_mask"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_LOD_alpha_switch"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_floor_ao"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_specular_aa"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "constants": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBAf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.00022000000171829015," & @CRLF & _ " 0.0294599998742342," & @CRLF & _ " 0.19374999403953553," & @CRLF & _ " 1.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.10000000149011612" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionExponent"," & @CRLF & _ " "$type": "::ReflectionFresnelExponent"," & @CRLF & _ " "$value": 5.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionScale"," & @CRLF & _ " "$type": "::ReflectionScale"," & @CRLF & _ " "$value": 1.5" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "flakesTilingMultiplier"," & @CRLF & _ " "$type": "::NoiseTilingMultiplier"," & @CRLF & _ " "$value": [" & @CRLF & _ " 30.0," & @CRLF & _ " 30.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualToneAlbedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.0," & @CRLF & _ " 0.028839999809861184," & @CRLF & _ " 0.3259499967098236" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualTonePower"," & @CRLF & _ " "$type": "::MaterialExponent"," & @CRLF & _ " "$value": 15.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirtFactor"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damageFactorPerSideLRFB"," & @CRLF & _ " "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "generalFlakesScale"," & @CRLF & _ " "$type": "::CarpaintFlakesScale"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "directionalFlakesScale"," & @CRLF & _ " "$type": "::CarpaintFlakesScale"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specularAAAmount"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "textures": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "damage"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "flakes"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "attributes"," & @CRLF & _ " "$type": "::AttributesMapReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "renderState": {" & @CRLF & _ " "blendingMode": "Opaque"," & @CRLF & _ " "depthWrite": "Auto"," & @CRLF & _ " "twoSided": false," & @CRLF & _ " "renderLayer": 0," & @CRLF & _ " "renderPass": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " "materialComponent": {}" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "car_Dodge_Viper_ACR_LOD_red"," & @CRLF & _ " "$type": "@tts::editor::MaterialEntity"," & @CRLF & _ " "$params": {" & @CRLF & _ " "lightmapSpecificParams": {" & @CRLF & _ " "shadowColor": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "transparencyMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseMapOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseColorOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMapUVChannelIdx": 1," & @CRLF & _ " "diffuseMapUVChannelIdx": 1," & @CRLF & _ " "emissiveMultiplier": 1.0," & @CRLF & _ " "singleSided": false" & @CRLF & _ " }," & @CRLF & _ " "metashaderRef": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/shaders/carpaint.jshader"" & @CRLF & _ " }," & @CRLF & _ " "features": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedo_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "occlusion_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "tint_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map_no_occlusion"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_diffuse"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map_uv2"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specular_dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "always_use_transparency"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_paint_flakes"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_diffuse_reflection"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_material_texture_mask"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_LOD_alpha_switch"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_floor_ao"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_specular_aa"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "constants": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBAf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 1.0," & @CRLF & _ " 1.0," & @CRLF & _ " 1.0," & @CRLF & _ " 1.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.10000000149011612" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionExponent"," & @CRLF & _ " "$type": "::ReflectionFresnelExponent"," & @CRLF & _ " "$value": 5.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionScale"," & @CRLF & _ " "$type": "::ReflectionScale"," & @CRLF & _ " "$value": 1.5" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualToneAlbedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 1.0," & @CRLF & _ " 1.0," & @CRLF & _ " 1.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualTonePower"," & @CRLF & _ " "$type": "::MaterialExponent"," & @CRLF & _ " "$value": 30.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirtFactor"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damageFactorPerSideLRFB"," & @CRLF & _ " "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "albedoColor2"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.21041999757289887," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualToneAlbedoColor2"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.6226800084114075," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specularAAAmount"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 1.0" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "textures": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedo"," & @CRLF & _ " "$type": "::AnyDiffuseOrAlbedoMapReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "attributes"," & @CRLF & _ " "$type": "::AttributesMapReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "tintEmissive"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga"" & @CRLF & _ " }" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "renderState": {" & @CRLF & _ " "blendingMode": "Opaque"," & @CRLF & _ " "depthWrite": "Auto"," & @CRLF & _ " "twoSided": false," & @CRLF & _ " "renderLayer": 0," & @CRLF & _ " "renderPass": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " "materialComponent": {}" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "car_Dodge_Viper_ACR_LOD_blue"," & @CRLF & _ " "$type": "@tts::editor::MaterialEntity"," & @CRLF & _ " "$params": {" & @CRLF & _ " "lightmapSpecificParams": {" & @CRLF & _ " "shadowColor": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "transparencyMap": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseMapOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "diffuseColorOverride": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }," & @CRLF & _ " "normalMapUVChannelIdx": 1," & @CRLF & _ " "diffuseMapUVChannelIdx": 1," & @CRLF & _ " "emissiveMultiplier": 1.0," & @CRLF & _ " "singleSided": false" & @CRLF & _ " }," & @CRLF & _ " "metashaderRef": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/shaders/carpaint.jshader"" & @CRLF & _ " }," & @CRLF & _ " "features": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedo_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "occlusion_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "tint_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt_map_no_occlusion"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage_map"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "emissive_diffuse"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "normal_map_uv2"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "specular_dual_tone"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "always_use_transparency"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_paint_flakes"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_diffuse_reflection"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_material_texture_mask"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": true" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_LOD_alpha_switch"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_floor_ao"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "use_specular_aa"," & @CRLF & _ " "$type": "::bool"," & @CRLF & _ " "$value": false" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "constants": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBAf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 1.0," & @CRLF & _ " 1.0," & @CRLF & _ " 1.0," & @CRLF & _ " 1.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "metalness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.10000000149011612" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionExponent"," & @CRLF & _ " "$type": "::ReflectionFresnelExponent"," & @CRLF & _ " "$value": 5.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "reflectionScale"," & @CRLF & _ " "$type": "::ReflectionScale"," & @CRLF & _ " "$value": 1.5" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualToneAlbedoColor"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 1.0," & @CRLF & _ " 1.0," & @CRLF & _ " 1.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualTonePower"," & @CRLF & _ " "$type": "::MaterialExponent"," & @CRLF & _ " "$value": 15.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirtFactor"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damageFactorPerSideLRFB"," & @CRLF & _ " "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0," & @CRLF & _ " 0.0" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "roughness"," & @CRLF & _ " "$type": "::editor::material::UNorm"," & @CRLF & _ " "$value": 0.0" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "albedoColor2"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.00022000000171829015," & @CRLF & _ " 0.0294599998742342," & @CRLF & _ " 0.19374999403953553" & @CRLF & _ " ]" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dualToneAlbedoColor2"," & @CRLF & _ " "$type": "::editor::material::LinearRGBf"," & @CRLF & _ " "$value": [" & @CRLF & _ " 0.0," & @CRLF & _ " 0.028839999809861184," & @CRLF & _ " 0.3259499967098236" & @CRLF & _ " ]" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "textures": [" & @CRLF & _ " {" & @CRLF & _ " "$name": "albedo"," & @CRLF & _ " "$type": "::AnyDiffuseOrAlbedoMapReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "attributes"," & @CRLF & _ " "$type": "::AttributesMapReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "dirt"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "damage"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " {" & @CRLF & _ " "$name": "tintEmissive"," & @CRLF & _ " "$type": "::editor::TextureReference"," & @CRLF & _ " "$value": {" & @CRLF & _ " "is_initialized": true," & @CRLF & _ " "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga"" & @CRLF & _ " }" & @CRLF & _ " }" & @CRLF & _ " ]," & @CRLF & _ " "renderState": {" & @CRLF & _ " "blendingMode": "Opaque"," & @CRLF & _ " "depthWrite": "Auto"," & @CRLF & _ " "twoSided": false," & @CRLF & _ " "renderLayer": 0," & @CRLF & _ " "renderPass": {" & @CRLF & _ " "$isSet": false," & @CRLF & _ " "$hasValue": false" & @CRLF & _ " }" & @CRLF & _ " }," & @CRLF & _ " "materialComponent": {}" & @CRLF & _ " }" & @CRLF & _ " }," Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "Result")

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm