要求...我只需要在<?xml
之前移除文字,同时保留每个<?xml
代码之间的内容。
实施例
DEBUG 12 Jul 09:39:23 [PSE-10000000516] OnlinePublisher.java :120 -
Publishing
<?xml version="1.0" encoding="utf-8"?>
<XMLDATA>
<CHILD_DATA>
ABCD
</CHILD_DATA>
</XMLDATA>
和
DEBUG 12 Jul 09:40:23 [JOB-660] OnlinePublisher.java :120 -
Publishing
<?xml version="1.0" encoding="utf-8"?>
答案 0 :(得分:1)
这就是你想要的:
[^<>]+?(?=\R\s*<\?xml )
EMPTY
<强>解释强>
[^<>]+? : 1 or more characters that is not < or >, not greedy
(?= : start lookahead
\R : any kind of line break
\s* : 0 or more spaces
<\?xml : literally
) : end lookahead
检查. matches newline
给定示例的结果(4次):
<?xml version="1.0" encoding="utf-8"?>
<XMLDATA>
<CHILD_DATA>
ABCD
</CHILD_DATA>
</XMLDATA>
<?xml version="1.0" encoding="utf-8"?>
<XMLDATA>
<CHILD_DATA>
ABCD
</CHILD_DATA>
</XMLDATA>
<?xml version="1.0" encoding="utf-8"?>
<XMLDATA>
<CHILD_DATA>
ABCD
</CHILD_DATA>
</XMLDATA>
<?xml version="1.0" encoding="utf-8"?>
<XMLDATA>
<CHILD_DATA>
ABCD
</CHILD_DATA>
</XMLDATA>
答案 1 :(得分:0)
试试这个^(\w+.*\s+)(\w+\s)\s+
这可能会对你有所帮助。