请原谅我,如果这是一个非常简单的问题。自从我编写正则表达式以来已经有一段时间了。最值得赞赏的是你们帮助刷过铁锈。我在Python中使用正则表达式正则表达式匹配除“/”以外的所有内容
我想通过一些URL解析。下面是我解析URL的典型格式:
https://www.anysite.com/word/123456789/description-of-the-page
https://www.anysite.com/word/123456789/description-of-the-page/someword
https://www.anysite.com/word/123456789/description-of-the-page/thisword
https://www.anysite.com/word/123456789/description-of-the-page/anyword
我想编写将只匹配第一个网址,而不是过去三年的表现。也就是说,我想要一个正则表达式,只有在数字字符串“123456789”后面的“/”之后没有“/”时才会匹配。
忽略主URL,我已经尝试了负前向断言没有成功:
/word\/.+?\/(?!\/).+/
这符合所有四个例子。
因为我没有这些单词的完整列表,所以我不能具体说明不在“/ someword”“/ thisword”或“/ anyword”结尾。
再次感谢您的期待和您的想法!
'[^ \ /] *'应该这样做。不要忘记使用dotall参数。 –
这变得很接近。它在最后一个“/”之前得到了一切。我需要它不匹配,如果有一个“/” – user1500158
你有没有考虑过在使用正则表达式解析之前通过'urlparse'运行你的URL?你会为自己节省一些头痛。 – roippi