从标签内的文本中删除换行符

时间:2019-08-15 18:23:39

标签: regex

我想删除包含文本块的特定html标签内的所有换行符。

我确定这是基本知识,但是我没有使用正则表达式的经验,因此欢迎您提供任何帮助。 谢谢

2 个答案:

答案 0 :(得分:1)

您尚未指定语言,所以我只给您正则表达式(无代码):

\n(?=[^<>]*</)

将所有匹配项替换为空白(以“删除”它们)。

这假定格式正确的XML(HTML是其中的一个子集)。

它的工作原理是要求所有匹配的换行符后跟字符,以使遇到的下一个尖括号为结束标记。

它不是防弹的,但可能适用于大多数情况,并希望适用于您的情况。

答案 1 :(得分:0)

我想您想这样做:

str.replace("/<(html|div)>(.*)\n+(?=[\s\S]*<\/\1>)/g", "<$1>$2 ")

此正则表达式针对html或div标签,您可以添加更多内容(html | div | p | input | html6tag)

但是,您必须运行此正则表达式,直到找不到更多替换项为止