Skip to content
Advertisement

Creating a regular expression that replaces strings in quotes with empty strings [closed]

How can I create a regular expression that finds the text wrapped in """ or ''' for example:

hello """
long text here,
e.g. a private SSH key
"""
this is a name for testing

'''
this is another multi-line 
stuff.
'''

I want to get the output like:

hello
this is a name for testing

With all the text that are in """ or ''' replaced with an empty string.

Advertisement

Answer

Use """|''' as delimiters (with a 1 back-reference for the closing one), a non-greedy match-all (.*?) and the s (dot-all) and g (global) flags.

Remove leading and trailing white-space with trim().

const str = `hello """
long text here,
e.g. a private SSH key
"""
this is a name for testing

'''
this is another multi-line 
stuff.
'''`

console.log(str.replace(/("""|''').*?1/gs, "").trim());
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement