python - 如何在正则表达式模式中查找正则表达式模式

标签 python regex

我有一些如下所示的文字:

between [... between (...)] and (...) as ...

使用正则表达式

between\s+(.+?)\s+and\s+(.+?)\s+as

我试图捕获两对括号内的内容,即由 Between and 界定的内容。然而我被困在它总是返回方括号和第二对括号中的内容。

编辑:

例如,如果文本是:

between foo whatever between bar and dummy as

我希望正则表达式提取“bar”和“dummy”,而不是“bar”和“dummy”之间的“foo”

最佳答案

在正则表达式前添加 .* 或使用否定前瞻:

between(?!.*between\b)\s+(.+?)\s+and\s+(.+?)\s+as

Live demo

关于python - 如何在正则表达式模式中查找正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49762904/

相关文章:

android sqlite 和正则表达式

python - 在python中创建带有 child 的递归类树

python - PostGIS 空间查询性能低下

python ftp 检索行——性能问题

python - 属性错误: module 'networkx' has no attribute 'Graph' in vs code

c# - 正则表达式匹配两个或多个连续字符

python - 如何在 TensorFlow 2 中保存/加载模型的一部分?

c# - 使用正则表达式将插值字符串转换为 string.Format

具有多个否定条件的正则表达式前瞻

ios - 使用正则表达式检查 Double 值是否具有某种格式