如何匹配'word=A B|word=C|word=D E word=E|word=F G'形式的字符串?
How to match a string of the form 'word=A B|word=C|word=D E word=E|word=F G'?
我正在尝试使用 Python 的 re module 来匹配 word=A B|word=C|word=D E word=F|word=G H
形式的字符串。字符串在一行中。这是我想要的输出:
word=A B|word=C|word=D E , word=F|word=G H
到目前为止,这是我的正则表达式
word=(?:[^word]\w+\s*\w+(\|?:=[^word]*)?)
目前它是一个不完整的正则表达式,我一直在努力改进它,但没有理想的输出。
如果要匹配整个字符串,请使用下面的正则表达式
(?:word=[\w |]+(?=word|$))+
如果你只想放置逗号,考虑 |
作为正则表达式下方的分隔符,使用 re.sub()
.
\s(?=word=)
例子
import re
text="word=A B|word=C|word=D E word=F|word=G H"
print(re.sub(r"\s(?=word=)",",",text))
输出
word=A B|word=C|word=D E,word=F|word=G H
我正在尝试使用 Python 的 re module 来匹配 word=A B|word=C|word=D E word=F|word=G H
形式的字符串。字符串在一行中。这是我想要的输出:
word=A B|word=C|word=D E , word=F|word=G H
到目前为止,这是我的正则表达式
word=(?:[^word]\w+\s*\w+(\|?:=[^word]*)?)
目前它是一个不完整的正则表达式,我一直在努力改进它,但没有理想的输出。
如果要匹配整个字符串,请使用下面的正则表达式
(?:word=[\w |]+(?=word|$))+
如果你只想放置逗号,考虑 |
作为正则表达式下方的分隔符,使用 re.sub()
.
\s(?=word=)
例子
import re
text="word=A B|word=C|word=D E word=F|word=G H"
print(re.sub(r"\s(?=word=)",",",text))
输出
word=A B|word=C|word=D E,word=F|word=G H