目前我有一个正则表达式,它将采用一组给定的换行符并压缩它们。我需要解决的一个挑战是modify this regex(\n{2,}
),以便在搜索多个换行符时仍然会忽略空格和制表符。
https://regex101.com/r/dEhyN3/2显示了我所指的一个很好的工作示例。这条线只包含一个空格,导致最终结果中有太多新行。
答案 0 :(得分:2)
此答案可确保保留行开头的空格(如果它包含空白字符以外的其他内容)。
(?:\h*\n){2,}
注意:某些正则表达式引擎不允许\h
,因此必须将其替换为[\t\p{Zs}]
,如果不支持Unicode字符类,则只需每个字符的列表,例如[\t ]
或[^\S\n]
。
其他方法:
(?:\n(?:[^\S\n]*(?=\n))?){2,}
(?:\n(?:\s*(?=\n))?){2,}
\h*\n(?:\h*\n)+
**Language**
- Added four languages: Italian, Portuguese (Brazil), Spanish (Mexico) and Chinese (Traditional)
**Bug fixes**
- Fixed camera jittering for passenger sitting on the back of a motorcycle with sidecar
- Fixed camera jittering for passenger sitting on the back of a motorcycle with sidecar
**Language**
- Added four languages: Italian, Portuguese (Brazil), Spanish (Mexico) and Chinese (Traditional)
**Bug fixes**
- Fixed camera jittering for passenger sitting on the back of a motorcycle with sidecar
- Fixed camera jittering for passenger sitting on the back of a motorcycle with sidecar
(?:\h*\n){2,}
匹配任意数量的水平空格字符,后跟换行符,两次或多次只是解释至少一种其他方法(并保留我的原始答案)
(?:\n(?:[^\S\n]*(?=\n))?){2,}
匹配以下两次或更多次
\n
匹配换行符(?:[^\S\n]*(?=\n))?
匹配以下零次或一次
[^\S\n]*
匹配除\n
以外的任何空格字符(?=\n)
确定以下内容的正面预测是换行符\n
答案 1 :(得分:0)