diff --git a/dotenv/main.py b/dotenv/main.py index 1a882380..98b22ec0 100644 --- a/dotenv/main.py +++ b/dotenv/main.py @@ -21,14 +21,14 @@ r""" ( \s* # leading whitespace - (?:export\s+)? # export + (?:export{0}+)? # export ( '[^']+' # single-quoted key | [^=\#\s]+ # or unquoted key )? (?: - (?:\s*=\s*) # equal sign + (?:{0}*={0}*) # equal sign ( '(?:\\'|[^'])*' # single-quoted value | "(?:\\"|[^"])*" # or double-quoted value @@ -40,7 +40,7 @@ (?:\#[^\r\n]*)? # comment (?:\r|\n|\r\n)? # newline ) - """, + """.format(r'[^\S\r\n]'), re.MULTILINE | re.VERBOSE, ) diff --git a/tests/test_core.py b/tests/test_core.py index bda2e3b7..f797600c 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -63,6 +63,13 @@ def restore_os_environ(): Binding(key="c", value="d", original="c=d"), ], ), + ( + 'a=\nb=c', + [ + Binding(key="a", value='', original='a=\n'), + Binding(key="b", value='c', original="b=c"), + ] + ), ( 'a="\nb=c', [