如何使用正则表达式匹配或替换仅包含数值的密码

Posted

技术标签:

【中文标题】如何使用正则表达式匹配或替换仅包含数值的密码【英文标题】:How can I use a regular expression to match or replace passwords containing only numeric values 【发布时间】:2021-02-07 16:20:22 【问题描述】:

我正在尝试找到一个正则表达式模式,它允许我匹配一个简单但特定的模式。 密码要求是字符串不能仅由数字字符组成。它可以包含任意数量的字母数字、特殊字符等。

这是原始输出

["line":"test@test.com:12345","line":"test@test.com:abcxyz","line":"test@test.com:abc123","line":"test@test.com:73chesterfield"]  

我想要达到的目标

test@test.com:abcxyz
test@test.com:abc123

我对正则表达式的了解非常有限,但本周大部分时间我都在尝试寻找解决方案,但没有成功。

我能做的最接近的事情是清理输出,所以它只是 12345,abcxyz,abc123 然后使用"^[a-zA-Z]*$" 之类的表达式并以某种方式获取符合我的条件的字符串,并将它们连接回电子邮件。

我遇到的最大问题是我知道这是可能的,但我不确定所涉及的确切方法是什么,以及我应该关注正则表达式的哪个领域。任何对解决方案的建议,甚至为我指明继续研究的方向都将不胜感激。

【问题讨论】:

【参考方案1】:

目前还不是 100% 清楚您的目标是什么……但是,这里有一些示例:

/(\w+@[\w\.]+:\w+)/    // Will match passwords made up of "word characters" [a-Z0-9_]

/(\w+@[\w\.]+:.*?)(?<!\\)"/    // This will match passwords with any character (even escaped ")

【讨论】:

如果我在解释方面做得不好,我深表歉意,但您提供的第一个示例正是我一直在寻找的。非常感谢!

以上是关于如何使用正则表达式匹配或替换仅包含数值的密码的主要内容,如果未能解决你的问题,请参考以下文章

从正则表达式仅返回部分匹配项

从正则表达式仅返回部分匹配项

使用正则表达式验证文本框,以仅包含只能包含一定数量值的数值

如何使用 sed、awk 或 gawk 仅打印匹配的内容?

正则表达式 - 匹配包含“+”和“-”的字符串

js密码正则表达式:要求包含大小写字母、数字和特殊符号,8~16位