python - 如何正则表达式最后/(如果存在不止一次)

标签 python regex python-3.x

如果在最后一个斜线之前没有其他斜线,我只需要删除它。

我正在尝试使用这个正则表达式 /(?:.(?!/))+$但它并没有删除我想要的。

我需要转换以下网址。

从:

    http://69.162.64.252:8692/live
    http://rvn01.painelstream.net:8638
    http://2.stm-ip.com:8578/;stream.mp3
    http://stm51.streamingbage.net.br:18164
    http://audio1.cmaudioevideo.com:8346/stream
    http://radio.radionaturezafm.com.br:9994
    http://srv-stream.sisdera.com:8000/SOCIEDADECARNAVA
    http://stm1.srvaudio.com.br:9422/;type=mp3
    https://streaming.speedrs.com.br/radio/8050/jaboticaba
    http://hts03.kshost.com.br:8014/live

预期的:
    http://69.162.64.252:8692
    http://rvn01.painelstream.net:8638
    http://2.stm-ip.com:8578
    http://stm51.streamingbage.net.br:18164
    http://audio1.cmaudioevideo.com:8346
    http://radio.radionaturezafm.com.br:9994
    http://srv-stream.sisdera.com:8000
    http://stm1.srvaudio.com.br:9422
    https://streaming.speedrs.com.br/radio/8050
    http://hts03.kshost.com.br:8014

但实际结果是:
    http://69.162.64.252:8692
    http:
    http://2.stm-ip.com:8578
    http:
    http://audio1.cmaudioevideo.com:8346
    http:
    http://srv-stream.sisdera.com:8000
    http://stm1.srvaudio.com.br:9422
    https://streaming.speedrs.com.br/radio/8050
    http://hts03.kshost.com.br:8014

看我的 attempt demo .

最佳答案

使用正则表达式,您可以使用

(?<!/)/[^/]*$

regex demo .

详情
  • (?<!/) - 否 /之前是允许的
  • / - 一个 /字符
  • [^/]* - 除 / 之外的 0 个或更多字符
  • $ - 字符串的结尾。
  • 关于python - 如何正则表达式最后/(如果存在不止一次),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58933648/

    相关文章:

    python - 如何根据正则表达式条件编辑文本文件的行?

    python - 使用双下划线时什么时候会发生名称重整?

    python - 旋转 seaborn barplot 的刻度标签

    python - 在以下路径中找不到名称为 'lab' 的模板子目录

    regex - 仅用于大写字母和数字的正则表达式模式,可能带有 'List'

    c++ - 我可以将char *转换为std::sregex_iterator匹配str()

    python - 使用 r2pipe 进行多处理

    python - 如何将多对多关系转换为查询集?

    python - 在 Python 3 中将二进制文件转换为字节数组

    javascript - 正则表达式强制特定长度,同时不以数字开头