gpt4 book ai didi

Python - 正则表达式,删除两个分隔符之间的内容

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:31 24 4
gpt4 key购买 nike

问题;我试图删除中间的字符串,并为输入字符串中的每个匹配项包含/* */。

input = /* comment */ variable owner; /* comment */
output = variable owner;

目前我尝试这样做:

output = re.sub("//*[^]+*//", '', input)
output = re.sub("/*[^]+*//", '', input)

如有任何指导,我们将不胜感激。

最佳答案

您不能在 Python 中使用 [^] 模式,它是仅 JavaScript 模式,可匹配任何 字符(如 (?s)。 在 Python 中)。

但是,您可以使用更好的多行注释匹配正则表达式:

/\*[^*]*\*+(?:[^/*][^*]*\*+)*/

参见this regex demo 。它展开后相当于 (?s)/\*.*?\*/匹配 /*,然后是第一个 */ 之前的任何 0+ 个字符。

import re
s = '/* comment */ variable owner; /* comment */'
rx = r'/\*[^*]*\*+(?:[^/*][^*]*\*+)*/'
print(re.sub(rx, '', s))

请参阅Python demo

关于Python - 正则表达式,删除两个分隔符之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41347247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com