我使用这个正则表达式模式pattern = r'cig[\s:.]*(\w{10})'
提取数据帧每行中包含的“'cig'”后面的10个字符。使用此模式,我将考虑所有情况,但子字符串中包含一些空格的情况除外
例如,我试图从字符串中提取Z9F27D2198
/BENEF/FORNITURA GAS FEB-20 CIG Z9F 27D2198 01762-0000031
在前一个字符串中,它似乎是堆栈溢出格式化的,但是在F
和2
之间,在CIG
之后应该有17个空格
你能帮我编辑正则表达式模式以解释10个字符子字符串中的空格吗?我还使用flags=re.I
来忽略re.findall
调用中字符串的大小写
要给出此模式适用的示例字符串,请执行以下操作:
CIG7826328A2B FORNITURA ENERGIA ELETTRICA U TENZE COMUNALI CONVENZIONE CONSIP E
它输出我想要的:7826328A2B
提前谢谢
那么:
如果字符串中只有一个“烟”,则可以正常工作
你可以用
见regex demo详细信息:
cig
-一个cig
字符串[\s:.]*
-零个或多个空格,:
或.
(\S(?:\s*\S){9})
-组1:一个非空白字符,然后出现九个零或多个空白字符,后跟一个非空白字符(?!\S)
-右边必须有空格或字符串结尾李>在Python中,可以使用
见Python demo
相关问题 更多 >
编程相关推荐