testtext2="""车找人【路线】万州↔重庆【时间】\xa0 今晚7-9出发【电话】1389691****
"""
testreg=re.compile(r"(?P<path>(?P<path1>(?<=【路线】))(?(path1).+?(?=【时间】)|no-pattern))")
print(re.findall(testreg,testtext2))
以下代码目的是提取出“万州↔重庆”,可是“no-pattern”(即备选正则)完全无效???
testreg=re.compile(r"(?P<path>(?P<path1>(?<=【路线】))(?(path1).+?(?=【时间】)|.*))")
在此举例,即使使用 .* 结果依然为空,请问问题出在哪里呢?
<path1> 捕获组只有一个前瞻断言,匹配的规则为空,它肯定是匹配成功啊,no-pattern自然是从来不会执行的。
PS:我有些不明白,你为什么要用条件捕获,没看出来使用它的必要性在哪儿。