我有以下字符串:
s = '<a class="biz-name"><span>Gus’s World Famous Fried Chicken</span></a>'
返回预期结果:
regex = re.compile('''<a class="biz-name[\w\W]*?<span>(.*?)</span>''')
regex.findall()
['Gus’s World Famous Fried Chicken']
但是这会返回空:
regex = re.compile('''<a class="biz-name[\w\W]*?<span>(.*?)</span>''', re.VERBOSE)
regex.findall()
[]
唯一的区别是re.VERBOSE
标志。
答案 0 :(得分:1)
阅读the docs:
模式中的空格被忽略,除非在字符类中,或者在未加转义的反斜杠之前,或者在*?,(?:或(?P&lt; ...&gt;。
之类的标记内)
问题是a class
re.VERBOSE
与aclass
相同,而re.compile(r'''<a\ class="biz-name[\w\W]*?<span>(.*?)</span>''', re.VERBOSE)
raw ^ ^ escape space or it doesn't count in VERBOSE mode
不在您的输入中。您需要逃离该空间(并使用原始字符串以获得一般正确性):
low_row_num <- which(!is.na(df$condition_met))
high_row_num <- as.integer(df[low_row_num, "condition_met"])
if (high_row_num == Inf) {
max_val <- max(df$high[(low_row_num+1):length(df$high)])
} else {
max_val <- max(df$high[(low_row_num+1):high_row_num])
}