我需要找到一个正则表达式规则,该规则可以找到要点之间的换行符并将其删除。例如:
•这是一些文本
以2个换行符分隔的行
•这是一个新的项目符号点,由2个换行符分隔
应成为:
•这是一些文字,以2个换行符分隔
•这是一个新的项目符号点,由2个换行符分隔
这是我尝试过的:
•(.+)\K\n+(?(?=[^•])(?=.+\n+•))
我的想法是:
我认为我的问题不是正确地理解如何将这些条件以积极的眼光联系在一起,而是努力寻找解决此类问题的明确答案/示例。
一如既往,我们将不胜感激!
答案 0 :(得分:0)
您可以匹配2个换行符,然后断言右侧的内容不是以项目符号开头,而是在此之后包含项目符号。
^•.*\K\r?\n\r?\n(?=(?!•).*\r?\n\r?\n•)
部分
^
字符串的开头•.*
匹配项目符号和除换行符外的所有char 0次以上\K\r?\n\r?\n
忘记匹配的内容并匹配2个换行符(?=
正向前进,断言右边是
(?!•).*
负向前进,断言右边的不是•
\r?\n\r?\n•
匹配2个换行符,后跟•
)
积极回望如果支持\R
来匹配Unicode换行符序列,您也可以使用
^•.*\K\R{2}(?=(?!•).*\R{2}•)