python - 在python3中的url字符串上匹配部分字符串
问题描述
我正在尝试使用正则表达式方法在 python 中匹配或查找巧合的字符串,re.search()
但没有幸运
这是我的代码:
import re
request_path = '/colpos/papanicolaou2/124579/1254'
urls = ['/colpos/prescription', '/colpos/transfer', '/colpos/papanicolaou2', '/colpos/biopsia']
for url in urls:
c_url = re.compile(url)
result = re.search(c_url, request_path)
if isinstance(result, re.Match):
allowed_url = url
break
print(allowed_url) # must be /colpos/papanicolau2
我想要发生什么?,如果 url 在 request_path 中(在这种情况下是部分),我希望结果是 re.Match 对象实例而不是 None。
我怎样才能做到这一点?,有没有更好的方法来知道我的 request_path 是否在 url 中?
上面提到的代码只有在 url 和 request_path 包含完全相同的情况下才有效,我不希望这样。我应该如何re.search()
在 python 中使用来实现这一点?
谢谢你
解决方案
我尝试使用“in”关键字而不是使用 re 模块来检查它。我认为它更简单,更具可读性。
request_path = '/colpos/papanicolaou2/124579/1254'
urls = ['/colpos/prescription', '/colpos/transfer', '/colpos/papanicolaou2', '/colpos/biopsia']
allowed_urls = []
for url in urls:
if url in request_path:
allowed_urls.append(url)
print(allowed_urls) # this contains '/colpos/papanicolaou2' like you wanted
推荐阅读
- java - 建造者模式:模型成员何时应该是最终的?
- swift - 为什么让我的视图的框架返回全屏,即使视图已经通过了 safeArea 约束?
- react-native - React Native - NSNumber 类型的 JSON 值“27”无法转换为 NSString
- python-3.x - selenium python webdriver,如何引用元素
- flutter - 为什么在 Dart 的列表定义中使用 if 和 for?
- aws-lambda - API Gateway 上的集成延迟
- javascript - 图像组件React Native中的多条曲线
- python - 字典自动调用作为值的函数
- json - 如何在不快速在表格视图中添加另一行的情况下编辑行
- visual-studio - 如何在本地进行确定性构建(ContinuousIntegrationBuild 标志)?