python - 如何结合两个正则表达式?

标签 python regex

假设我有这两个正则表达式:

  1. id=123456
  2. discography=True

如果事先不知道这些字符串在输入中的顺序,我如何检查它们是否都匹配正则表达式?

最佳答案

你可以使用两个 lookaheads :

^(?=.*id=123456)(?=.*discography=True)

从字符串的开头 (^) 我们首先在任何地方寻找 id=123456(由于 .*)。但前瞻实际上并没有消耗任何东西,所以一旦找到模式,引擎就会跳回到它开始的地方(字符串的开头)并从第二个模式开始。

正如 eyquem 所指出的,如果您的字符串中有换行符,.* 不能越过它们,除非您使用选项 re.S(或 re.DOTALL - 这只是一个别名)。

但是,这看起来像是您正在尝试解析 URL 的查询字符串。也许您应该看看 urlparse

关于python - 如何结合两个正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13776544/

相关文章:

python - PyPy 文件附加模式

python - 如何利用 Catboost 中的 MAP 评估指标来计算平均精度?

javascript - 有没有办法根据浏览器url更改所有页面链接url?

php - 如何在 php 中对每个其他字符进行 CAPITaLiZe?

java - 如何编写适合所需模式而不适合其他模式的正则表达式?

javascript - 从用户提交的文本中获取属性!正则表达式?

python - 基于来自两个不同列的特定字符串信息的新列 Python Pandas

python - 任何与 Tor 的 Python 绑定(bind)?

javascript - 如何使用另一个字符串作为模板从一个字符串中提取数据?

python - IDNA 不往返