Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式匹配除“以外的所有内容”/&引用;_Python_Regex - Fatal编程技术网

Python 正则表达式匹配除“以外的所有内容”/&引用;

Python 正则表达式匹配除“以外的所有内容”/&引用;,python,regex,Python,Regex,如果这是一个非常简单的问题,请原谅。我已经有一段时间没有写正则表达式了。非常感谢你们帮忙刷锈。我在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

如果这是一个非常简单的问题,请原谅。我已经有一段时间没有写正则表达式了。非常感谢你们帮忙刷锈。我在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
我想写一个表达式,将只匹配第一个URL,而不是最后三个。也就是说,我想要一个正则表达式,它只在数字字符串“123456789”后面的“/”后面没有“/”时匹配

忽略主URL,我尝试了一个否定的前瞻性断言,但没有成功:

/word\/.+?\/(?!\/).+/
这与所有四个示例都匹配

我无法具体说明是否以“/someword”“/thisword”或“/anyword”结尾,因为我没有这些单词的完整列表

再次感谢您的关注和思考

那么:

/word\/[^\/]+\/[^\/]+/
您可以这样做:

^https?:\/\/[^\d]*(\d+)\/[^\/]*$


演示:

[^\/]*
应该可以。别忘了使用dotall参数。这很接近。在最后一个“/”之前,它让我得到了一切。我需要它不匹配,如果有“/”您是否考虑过在尝试使用regex解析之前通过
urlparse
运行您的URL?你会省去一些麻烦的。你到底为什么在这里使用正则表达式?故意混淆?我有我的理由。Muahavery很有帮助!我最终选择了:\/projects\/[^\/]*\/[^\/]*$我需要做这个更改,因为我写123456789的地方可能也有字母字符。但是对于上面的例子,你是正确的!多谢!我会在3分钟后,当系统允许甲烷@sshashank124!