cdzjf 发表于 2022-11-8 10:41:05

正则的换行符问题

从文件中导入一段文本,截取其中的一段,然后这一段中有很多的换行回车符号,请问该如何把这个换行符正则出来

a='fg=5d21d74472eacda102331f1;Name=CHGCD04F1229119B2E3B9F9;\nfg=5GT64J8LKFGR6FEC288A82E09FDED4B21C65C0C84538CF4573044D7C1BEA65DA684E0BE04B70852; Name=6Ydd884RTGD3157f40394f;'

如果用下面的方式匹配,只能匹配到\n前面的数据,如果后面有多个回车符或者换行符,应该怎样做呢
c1 = re.findall('([\w\W]*?)[\n\r]', a)

wp231957 发表于 2022-11-8 11:03:40

>>> re.findall("\n",a,re.M)

cdzjf 发表于 2022-11-8 12:09:38

wp231957 发表于 2022-11-8 11:03
>>> re.findall("\n",a,re.M)

有试过吗?
最后的结果是
['\n']

wp231957 发表于 2022-11-8 12:33:43

cdzjf 发表于 2022-11-8 12:09
有试过吗?
最后的结果是
['\n']

你给的例子里面就一个 \n啊

阿奇_o 发表于 2022-11-8 14:44:39

这样?a = 'fg=5d21d74472eacda102331f1;Name=CHGCD04F1229119B2E3B9F9;\nfg=5GT64J8LKFGR6FEC288A82E09FDED4B21C65C0C84538CF4573044D7C1BEA65DA684E0BE04B70852; Name=6Ydd884RTGD3157f40394f;\rfg=7d2102331f1;Name=CHGCD04F1229119B2E3B9F9;\n\rfg=..'
re.findall('(.*?[\n\r]+)', a, re.M)
['fg=5d21d74472eacda102331f1;Name=CHGCD04F1229119B2E3B9F9;\n', 'fg=5GT64J8LKFGR6FEC288A82E09FDED4B21C65C0C84538CF4573044D7C1BEA65DA684E0BE04B70852; Name=6Ydd884RTGD3157f40394f;\r', 'fg=7d2102331f1;Name=CHGCD04F1229119B2E3B9F9;\n\r']

cdzjf 发表于 2022-11-9 22:02:55

阿奇_o 发表于 2022-11-8 14:44
这样?

['fg=5d21d74472eacda102331f1;Name=CHGCD04F1229119B2E3B9F9;\n', 'fg=5GT64J8LKFGR6FEC288A82E09FDED4B21C65C0C84538CF4573044D7C1BEA65DA684E0BE04B70852; Name=6Ydd884RTGD3157f40394f;\r', 'fg=7d2102331f1;Name=CHGCD04F1229119B2E3B9F9;\n\r']

最后结尾处的\n\r还需要再处理下

cdzjf 发表于 2022-11-9 22:03:26

wp231957 发表于 2022-11-8 12:33
你给的例子里面就一个 \n啊

你代进去python试试就知道了
页: [1]
查看完整版本: 正则的换行符问题