我正在尝试提取"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'
的字边界之间。
使用以下正则表达式:
atb([^a-z]*)bon
由于您说过需要捕获除小写字母以外的所有字符,因此在这种情况下,除A-Z
和a-z
之外的所有字符都变成了特殊字符。我建议使用否定字符集。此正则表达式捕获at
和on
之间没有小字母的所有内容。
演示