如何删除超过x个单词的行?在记事本++正则表达式

时间:2016-03-19 00:03:17

标签: regex notepad++

我想为项目排序一个巨大的列表,我需要删除包含4个以上单词的长列表中的所有行。 谁知道我怎么能在记事本++中这样做? 感谢。

2 个答案:

答案 0 :(得分:2)

你可以拿出某事。像:

^(?:\b\w+[^\w\r\n]*){4,}$
# ^   - anchor the expression to the beginning of a line
# (?: - a non capturing group
# \b  - a word boundary
# \w+ - match word characters greedily
# [^\w\r\n] - do not match any of these character (classes) 
# the construct {4,} repeats this pattern 4 or more times
# $   - match the end of the line

您需要启用multiline模式。见a demo on regex101.com
感谢@SebastianProske发现原始表达式中的错误。

答案 1 :(得分:0)

\n?^(\S+[^\S\n]+){3,}\S+.*$

这适用于TextWrangler;它可能适用于记事本++。