创建一个正则表达式,用空字符串替换引号中的字符串



如何创建一个正则表达式来查找用"""'''包装的文本,例如:

hello """
long text here,
e.g. a private SSH key
"""
this is a name for testing
'''
this is another multi-line 
stuff.
'''

我想得到这样的输出:

hello
this is a name for testing

"""'''中的所有文本替换为空字符串。

使用"""|'''作为分隔符(结束时使用1反向引用),非贪婪匹配(.*?)和s(点全)和g(全局)标志。

使用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());

我们可以尝试针对所有多行引号的regex替换。我们将使用点all模式来确保匹配发生在换行符之间。

var input = `
hello """
long text here,
e.g. a private SSH key
"""
this is a name for testing
'''
this is another multi-line 
stuff.
'''`;
var output = input.replace(/""".*?"""|'''.*?'''/sg, '').trim();
console.log(output);

相关内容

  • 没有找到相关文章

最新更新