Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.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
可变长度Lookbehinds RegEx don';t在Python中工作_Python_Regex_Lookbehind - Fatal编程技术网

可变长度Lookbehinds RegEx don';t在Python中工作

可变长度Lookbehinds RegEx don';t在Python中工作,python,regex,lookbehind,Python,Regex,Lookbehind,我想提取“:”和“|”字符之间的文本,但在第二个和第三个数据中“:”后面有一个空格 输入: Referencia:22726| Referencia Cliente Ak: 233726 | Referencia histórica: 256726 | Suelo | AGOLADA (Pontevedra) - CARPAZO O PE#A LONJA [EXTRACT] Referencia:39766| Referencia Cliente Ak: 39767 | Referencia

我想提取“:”和“|”字符之间的文本,但在第二个和第三个数据中“:”后面有一个空格

输入:

Referencia:22726| Referencia Cliente Ak: 233726 | Referencia histórica: 256726 | Suelo | AGOLADA (Pontevedra) -  CARPAZO O PE#A LONJA [EXTRACT]
Referencia:39766| Referencia Cliente Ak: 39767 | Referencia histórica: 39768 | Garaje | MOJACAR (Almería) -  URB.VILLA MIRADOR DEL MAR - MOD. # [EXTRACT]
Referencia:397A5| Referencia Cliente Ak: 397B5 | Referencia histórica: 397C5 | Garaje | MOJACAR (Almería) -  VILLA MIRADOR DEL MAR-MODULO #-PLAZA 4 [EXTRACT]
Referencia:AA39803| Referencia Cliente Ak: P_39803 | Referencia histórica: 200_39803 | Garaje | MOJACAR (Almería) -  VILLA MIRADOR DEL MAR - MODULO [EXTRACT]
所需输出:

22776
233726
256726
39766
39767
39768
397A5
397B5
397C5
AA39803
P_39803
200_39803

我的第一个模式:
(?删除lookback中的
字符将
\s
移动到匹配项

(?<=:)(\s?\w{5,12})

(?删除lookback中的
字符将
\s
移动到匹配项

(?<=:)(\s?\w{5,12})

(?删除lookback中的
字符将
\s
移动到匹配项

(?<=:)(\s?\w{5,12})

(?删除lookback中的
字符将
\s
移动到匹配项

(?<=:)(\s?\w{5,12})

(?在python中,lookback不能是可变长度的。解决此问题的方法:

(?:(?<=:\s)|(?<=:))(\w{5,12})

在python中,lookback不能是可变长度的。解决此问题的方法:

(?:(?<=:\s)|(?<=:))(\w{5,12})

在python中,lookback不能是可变长度的。解决此问题的方法:

(?:(?<=:\s)|(?<=:))(\w{5,12})

在python中,lookback不能是可变长度的。解决此问题的方法:

(?:(?<=:\s)|(?<=:))(\w{5,12})


哦,谢谢。我不知道在python中,lookback不能是可变长度的。我想,lookahead也不能是可变长度的。但是,它是否只有在python或其他语言中才是可变长度的。lookahead可以是可变长度的。在.net中,您可以使用可变长度的lookahead。Java允许使用这个量词
{n,m}
和PHP允许替换。新的解决方案更干净。为什么前瞻可以是可变长度,但不能是任何一种前瞻?我没有一个明确的答案,因为你可以看到正则表达式引擎之间的限制是不同的。人们说:“由于正则表达式引擎从左到右工作,因此很难实现可变长度的查找。”(睡觉前重复三次)哦,谢谢。我不知道在python中,lookback不能是可变长度的。我想,lookahead也不能是可变长度的。但是,它是否只有在python或其他语言中才是可变长度的。lookahead可以是可变长度的。在.net中,您可以使用可变长度的lookahead。Java允许使用这个量词
{n,m}
和PHP允许替换。新的解决方案更简洁。为什么前瞻可以是可变长度,但不能是任何一种前瞻?我没有一个明确的答案,因为您可以看到正则表达式引擎之间的限制是不同的。人们说:由于正则表达式引擎从左到右工作,因此很难实现可变长度的查找。”(在睡觉前重复三次)哦,谢谢。我不知道在python中,lookback不能是可变长度的。我想,lookahead也不能是可变长度的。但是,它是否只有在python或其他语言中才是可变长度的。lookahead可以是可变长度的。在.net中,您可以使用可变长度的lookahead。Java允许使用这个量词
{n,m}
和PHP允许替换。新的解决方案更简洁。为什么前瞻可以是可变长度,但不能是任何一种前瞻?我没有一个明确的答案,因为您可以看到正则表达式引擎之间的限制是不同的。人们说:由于正则表达式引擎从左到右工作,因此很难实现可变长度的查找。”(在睡觉前重复三次)哦,谢谢。我不知道在python中,lookback不能是可变长度的。我想,lookahead也不能是可变长度的。但是,它是否只有在python或其他语言中才是可变长度的。lookahead可以是可变长度的。在.net中,您可以使用可变长度的lookahead。Java允许使用这个量词
{n,m}
和PHP允许替换。新的解决方案更简洁。为什么前瞻可以是可变长度,但不能是任何一种前瞻?我没有一个明确的答案,因为您可以看到正则表达式引擎之间的限制是不同的。人们说:由于正则表达式引擎从左到右工作,因此很难实现可变长度的查找。”(在睡觉前重复三次)谢谢,优雅的解决方案!谢谢,优雅的解决方案!谢谢,优雅的解决方案!谢谢,优雅的解决方案!您可以使用
regex
模块,它支持lookaheads和lookbehind中的可变长度。他们说,计划替换标准
re
模块。您可以使用Pip安装它。(
Pip install regex
)。您可以使用
regex
模块,该模块支持lookaheads和lookbehinds中的可变长度。他们说,计划替换标准
re
模块。您可以使用Pip安装它。(
Pip install regex
)。您可以使用
regex
模块,该模块支持lookaheads和lookbehinds中的可变长度。他们说,计划替换标准
re
模块。您可以使用Pip安装它。(
Pip install regex
)。您可以使用
regex
模块,该模块支持lookaheads和lookbehinds中的可变长度。他们说,计划替换标准
re
模块。您可以使用Pip安装它。(
Pip install regex
)。