Groovy用标签拆分html并创建一个列表

时间:2019-02-27 06:39:26

标签: regex groovy html-parsing

我正在使用常规代码将字符串拆分为数组。我有以下字符串

string html = "<html><body><b>I like subway at\n\n</b>I like subway at\n\n";

我如何获得像这样的列表

List splitList = ['<html>','<body>','<b>','I like subway at\n\n','</b>','I like subway at\n\n']

我正在使用从stackoverflow引用的以下正则表达式-

List splittedList = html.split('(<\\/?\\w+(?:(?:\\s+\\w+(?:\\s*=\\s*(?:".*?"|\'.*?\'|[^\'">\\s]+))?)+\\s*|\\s*)\\/?>)')

这不适用于常规。任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

这有点令人费解,但是我认为它可以在没有正则表达式的情况下为您提供大部分帮助:

html = """<html><body><b>I like subway at\n\n</b>I like subway at\n\n"""
new_html= html.replace('<','@<').replace('>','>@').replace('@@','@')
print(new_html.split('@')))

输出:

['', '<html>', '<body>', '<b>', 'I like subway at\n\n', '</b>', 'I like subway at\n\n']