2

我正在尝试使用匹配 /../ 之前的子字符串的正则表达式从字符串中删除某些内容,这些子字符串要么从开头开始,要么在 / 之后。

到目前为止我有

re.sub('(?<=[/]|\A).+(?=[/][.][.][/])', '', str)

虽然当我尝试这个或其他变体时,我不断收到错误,从删除第一个 / 之后的所有项目到不删除分组的第一个字符。

4

1 回答 1

2

看来/自己永远不可能成为比赛的一部分。因此,尝试

re.sub(r'[^/]*(?=/\.\./)', '', mystr)

[^/]匹配任何不是 a 的字符/,因此它从字符串的开头开始匹配,直到遇到/../,除非中间有一个/,在这种情况下,匹配将在那之后开始。

于 2012-11-14T08:59:12.510 回答