trying to parse JSON key names within quotes, including escaped quotes.
my thinking is: take anything between quotes *not* prefixed with \

```
(?<!\\)\".+(?<!\\)\"

```

where `(?<!\\)\"` should screen for " but not \" but Python complains about unbalanced parenthesis. 
if I use `(?<!\\\)\"` Python is happy , but this doesn't work:

```
re.findall('(?<!\\\)\".+(?<!\\\)\"','"this is \"the\". key"."and this.is.the.child"')

```

leads:

```
['"this is "the". key"."and this.is.the.child"']

```

when I expect:

```
['"this is "the". key"', '"and this.is.the.child"']

```

split at the dot which is enclosed with " without escape.

I feel like i need an 'anything but not escaped double quote ' in the middle, but if 
`[^"]` screens for anything but a double quote, I don't know how to negate the `(?<!\\\)\"` expression within a [ ] set that takes characters as literals.
i would want something like `[^(?<!\\\)\"]` but that doesn't work.

I tried things like [[^"]|(\")]+ (anything but a double quote, or a \" ) but that doesn't seem to work either...

Can;t seem to find the right way to do this...
Any ideas?

Thanks for help

**EDIT:**

My real goal is to be able to split full 'text' JSON key names to transform them into alphanum only values. The transform is irrelevant here, but the goal is to split the keys to represent the hierarchy properly. The keys are in text form. 

EDIT 2:

even though OmnipotentEntity is most likely right, writing a parser will have to wait..
This solution below doesn't support the "\" or "\\" cases as indicated in his comments.

I settled with 

```
"(?:\\"|[^"])*?"|(?<=\.)[^".]+?(?=\.)|^[^".]+?(?=\.)|(?<=\.)[^".]+?$

```

inspired by the answer from Avinash Raj
but adding support for keys that are not enclosed in double quotes: 
no quotes beginning of line ending with . 
.key.
and 
.lastkey 
when substituting [empty] with the same regex, one should find 1 less element than the number of found strings, or there is an error.
something like .. outside "" will fail that test