thanks for the diff; i have implemented it now into 0.1.6
basically i liked the flexibilty you added here, but thought that for a user it is difficult to specify it like that. so instead i added a dropdown for the default value ("nowhere", "cave-only", "surface-only", "cave and surface"), and then 4 additional string settings where users can name individual resources that should behave differently. the default is that crude-oil is surface only, and stone is both, everything else is cave-only.
i added this now in version 0.1.6.
i investigated the direction of the data-raw-prototypes approach, but finally decided against it. i think it is a quite useful mod but i am not sure how robust it is against future changes, and i don't want to force a dependency on to all users. (an optional dependency doesn't make sense to me here since that makes the code more complex while providing more confusion to users).
also, personally i am not a fan of regular expressions although i see that without a string split function in lua it kind of forces that direction; but for me they are always a mystery; especially when i later have to come back to them for debugging :)