我正在尝试提取"at"
和"on"
之间的大写文本。
s = 'visit at AIRTEL on some day'
import re
re.findall('(?<=at).[A-Z]+.(?=on)', s)
这将正确返回预期的单词。
但是在其他情况下会失败,例如
s = 'visit at AIRTEL.IN on some day'
大写字母可能包含一个或多个特殊字符。尽管期望的字符串将始终位于'at'
和'on'
的单词边界之间。
答案 0 :(得分:1)
使用以下正则表达式:
at\b([^a-z]*)\bon
由于您说过需要捕获除小写字母之外的所有内容,因此,在这种情况下,除A-Z
和a-z
之外的所有内容都变为特殊字符。我建议使用否定字符集。此正则表达式捕获at
和on
之间没有小写字母的所有内容。