我目前所写的内容我可以找到特定的数字,但我需要以。结尾的数字。
数据文件如下所示:
1231231234
1231231234
1231231234
etc...
我的代码:
import re
with open("test.txt") as f:
with open("testoutput.txt", "w") as f1:
for line in f:
if re.match("^123", line):
f1.write(line)
答案 0 :(得分:0)
不清楚为什么您使用^123
来匹配您的号码。
在正则表达式范例中,"以某种东西结束"转换为"某些东西+行尾"。在大多数正则表达式中,something$
是with open("test.txt") as f, open("testoutput.txt", "w") as f1:
...
。请看一下official python doc。
不是关于实际问题,提示:您可以在一行中编写多个上下文管理器,例如
@DirtiesContext(classMode = AFTER_EACH_TEST_METHOD)
答案 1 :(得分:0)
不需要正则表达式,您可以使用endswith
:
string = """
1231231234
1231231234
1231231234
888
"""
numbers = [line
for line in string.split("\n")
if line and not line.endswith('1234')]
print(numbers)
哪个收益
['888']
<小时/> 或者,反过来说:
string = """
1231231234
1231231234
1231231234
888
"""
numbers = [line
for line in string.split("\n")
if line and line.endswith('1234')]
print(numbers)
# ['1231231234', '1231231234', '1231231234']