所以在这种情况下,从单词Star(可以是任何单词!)开始,在单词(Total_Cases)后面的所有内容都被删除。
test1 = '/nOpenCases - 4 - - - 4 /nClosed_Cases 6 - - - - 6 /nTotal_Cases 3 4 - - - 7 Rocket Star Services Limited Term Disability FLK1234567 As Of 12/21/2023 property of xyz. Use and distribution limited solely to personnel. © Copyright 2020 Rocket Corporation) 9 of 15 Created: 3:20 PM - 1/21/2020'
我想。
'/nOpenCases - 4 - - - 4 /nClosed_Cases 6 - - - - 6 /nTotal_Cases 3 4 - - - 7
我已经试过了
re.sub('(?<=Total_Claims)(.*)',"", test1)
但这个结果是-
'/nOpenCases - 1 - - - 1 /nClosed_Cases 3 - - - - 3 /nTotal_Cases
这个也会删除数字......
你可以使用
result = re.sub(r'(Total_Cases[^a-zA-Z]*).*', r'\1', test1, flags=re.S).rstrip()
见 搜索引擎演示
详细内容
(Total_Cases[^a-zA-Z]*)
- 捕捉到第1组。Total_Cases
然后捕捉除ASCII字母以外的任何0或更多的字符。.*
- 字符串末尾的任何0或更多的字符(flags=re.S
使得 .
以匹配跨行的换行符)。)该 \1
中的替换模式指的是组1的值。.rstrip()
将删除所有尾部的空格(如果不需要,请删除)。