(Notepad++)删除不符合密码规则的行
(Notepad++)Remove lines which doesn't meet password policy
密码政策:
每个密码应至少包含其中的 3 个:
- 包含
Numbers
- 包含
a-z
- 包含
A-Z
- 包含
special characters !@#$%^&*()_+
例如,这个列表:
12345678
adfghj
AASDFGHJ
!@#$%^&
1234as
1234ASDF
1345!#$%
asdfg!@#$
ASDFGB!#$$
SSRasd
Goodone123
G00done!@#
1@a
Aa1
应该是这样的:
Goodone123
G00done!@#
1@a
Aa1
感谢您的帮助:)
请参阅下面的 npp 正则表达式。 注意:确保选中 Match Case
和 Wrap Around
并选择 Regular expression
^[^\d\l]+$|^[^\d\u]+$|^[^\d\!\@\#$\%\^\&\*\(\)\_\+]+$|^[^\l\u]+$|^[^\l\!\@\#$\%\^\&\*\(\)\_\+]+$|^[^\u\!\@\#$\%\^\&\*\(\)\_\+]+$
正则表达式匹配两个缺失密码条件的所有可能组合:
- 缺少数字和小写字母
- 缺少数字和大写字母
- 缺少数字和特殊字符
- 缺少小写字母和大写字母
- 缺少小写字母和特殊字符
- 缺少大写字母和特殊字符
更新
Notepad++ 参考 How to use regular expressions in Notepad++
让我们看看什么正则表达式可以匹配您的密码:
^ # Start of line
(?: # Start of the alternation group
(?=.*\d)(?=.*[a-z])(?=.*[A-Z]) # Conditions 1, 2, 3
|
(?=.*\d)(?=.*[a-z])(?=.*[!@#$%^&*()_+]) # Conditions 1, 2, 4
|
(?=.*\d)(?=.*[A-Z])(?=.*[!@#$%^&*()_+]) # Conditions 1, 3, 4
|
(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+]) # Conditions 2, 3, 4
|
(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+]) # Conditions 1, 3, 4
)
.* # The line itself is matched
$ # Up to the end of line
要反转它,我们只需将上面的非捕获 alternation 组转换为 negative lookahead :
与 !
:
^ # Start of line
(?! # A negative lookahead
要在 Notepad++ 中使用它,检查 Match case
选项 ,然后 添加 \R*
在模式的末尾 也删除删除行之后的换行符。用于NPP的一行:
^(?!(?=.*\d)(?=.*[a-z])(?=.*[A-Z])|(?=.*\d)(?=.*[a-z])(?=.*[!@#$%^&*()_+])|(?=.*\d)(?=.*[A-Z])(?=.*[!@#$%^&*()_+])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+])).*$\R*
密码政策:
每个密码应至少包含其中的 3 个:
- 包含
Numbers
- 包含
a-z
- 包含
A-Z
- 包含
special characters !@#$%^&*()_+
例如,这个列表:
12345678
adfghj
AASDFGHJ
!@#$%^&
1234as
1234ASDF
1345!#$%
asdfg!@#$
ASDFGB!#$$
SSRasd
Goodone123
G00done!@#
1@a
Aa1
应该是这样的:
Goodone123
G00done!@#
1@a
Aa1
感谢您的帮助:)
请参阅下面的 npp 正则表达式。 注意:确保选中 Match Case
和 Wrap Around
并选择 Regular expression
^[^\d\l]+$|^[^\d\u]+$|^[^\d\!\@\#$\%\^\&\*\(\)\_\+]+$|^[^\l\u]+$|^[^\l\!\@\#$\%\^\&\*\(\)\_\+]+$|^[^\u\!\@\#$\%\^\&\*\(\)\_\+]+$
正则表达式匹配两个缺失密码条件的所有可能组合:
- 缺少数字和小写字母
- 缺少数字和大写字母
- 缺少数字和特殊字符
- 缺少小写字母和大写字母
- 缺少小写字母和特殊字符
- 缺少大写字母和特殊字符
更新 Notepad++ 参考 How to use regular expressions in Notepad++
让我们看看什么正则表达式可以匹配您的密码:
^ # Start of line
(?: # Start of the alternation group
(?=.*\d)(?=.*[a-z])(?=.*[A-Z]) # Conditions 1, 2, 3
|
(?=.*\d)(?=.*[a-z])(?=.*[!@#$%^&*()_+]) # Conditions 1, 2, 4
|
(?=.*\d)(?=.*[A-Z])(?=.*[!@#$%^&*()_+]) # Conditions 1, 3, 4
|
(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+]) # Conditions 2, 3, 4
|
(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+]) # Conditions 1, 3, 4
)
.* # The line itself is matched
$ # Up to the end of line
要反转它,我们只需将上面的非捕获 alternation 组转换为 negative lookahead :
与 !
:
^ # Start of line
(?! # A negative lookahead
要在 Notepad++ 中使用它,检查 Match case
选项 ,然后 添加 \R*
在模式的末尾 也删除删除行之后的换行符。用于NPP的一行:
^(?!(?=.*\d)(?=.*[a-z])(?=.*[A-Z])|(?=.*\d)(?=.*[a-z])(?=.*[!@#$%^&*()_+])|(?=.*\d)(?=.*[A-Z])(?=.*[!@#$%^&*()_+])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+])).*$\R*