我必须使用正则表达式来交叉字符串中的一些内容。
例如
SomeText;content1|content2|content3|||content6||content8
如您所见,内容由管道分隔。内容没有固定长度,可以包含任何字符。现在我想用content6
替换xxxxxx
。因此,我需要“替换6号出现的管道之间的内容”
结果应该是:SomeText;content1|content2|content3|||xxxxxx||content8
有谁知道如何做到这一点?先感谢您!
假设我们不需要处理任何“逃脱的管道”,你可以搜索
^((?:[^|]*\|){5})[^|]*(.*)$
并用\1xxxxxx\2
替换它。
说明:
[^|]*
匹配|
以外的任意数量的字符,因此(?:[^|]*\|){5}
匹配包括第5个管道在内的所有内容。