使用正则表达式删除精确字符串之前的所有内容
Removing everything before exact string with regex
我有这个字符串,我试图删除 P<RU
之前的所有内容,但没有任何反应,我收到了相同的字符串。基本上什么都没发生。
a = ("PECIMEN\n"
"DWADWA\n"
"P<RUSDATA<DATA<<<<\n"
"00000000<ORUS7803118F213242803111025<<<64")
removed_text = re.sub(r'^.*?\nP<RU', '\nP<RU', a)
或
removed_text = re.sub(r'^.*?P<RU', 'P<RU', a)
这不一定需要正则表达式。假设 'P<RU' 出现一次 - 为什么不这样做:
x = 'P<RU' + a.split('P<RU')[1]
你需要re.DOTALL
标志,否则.
不匹配换行符,所以它只会在字符串的第一行执行替换。
removed_text = re.sub(r'^.*?P<RU', 'P<RU', a, flags = re.DOTALL)
我有这个字符串,我试图删除 P<RU
之前的所有内容,但没有任何反应,我收到了相同的字符串。基本上什么都没发生。
a = ("PECIMEN\n"
"DWADWA\n"
"P<RUSDATA<DATA<<<<\n"
"00000000<ORUS7803118F213242803111025<<<64")
removed_text = re.sub(r'^.*?\nP<RU', '\nP<RU', a)
或
removed_text = re.sub(r'^.*?P<RU', 'P<RU', a)
这不一定需要正则表达式。假设 'P<RU' 出现一次 - 为什么不这样做:
x = 'P<RU' + a.split('P<RU')[1]
你需要re.DOTALL
标志,否则.
不匹配换行符,所以它只会在字符串的第一行执行替换。
removed_text = re.sub(r'^.*?P<RU', 'P<RU', a, flags = re.DOTALL)