正则表达式检测具有2个以上数字和2个以上字符的单词 - javascript

我需要一个正则表达式来检测长度为8个字符的单词,这些单词包含2个以上的数字和2个以上的字符(无特殊字符)。

我在解决方案附近,我在regex101.com上进行了正则表达式。

问题是包含一个数字的单词对我的正则表达式不应该让人联想。

我使用(?![A-Za-z]{7,})丢弃了包含至少7个字符的字符的所有单词。

我丢弃了所有带有(?![\d]{7,})且包含至少7个数字的数字的单词。

然后我丢弃了包含至少2个数字和2个字符的(?=[a-zA-Z\d]{2})[A-Za-z\d]{8}的单词。

为什么vaff8loe被匹配?

我创建此正则表达式是因为在将整个单词替换为*******之后。
喜欢:

papave23 ciao il mio pin papaver1 è reeredji332ji con vaff8loe 1234567o 123t123t papavero 9o 123t123y

用replace(“regex”,“********”)之后

********ciao il mio pin papaver1 è reeredji332ji con ******** 1234567o ******** papavero 9o ********

参考方案

使用2个零宽度的正向前行:

(?=.*?[a-zA-Z].*?[a-zA-Z])    Must contain 2 ASCII letters
(?=.*?[0-9].*?[0-9])          Must contain 2 digits
[a-zA-Z0-9]{8}                Must be exactly 8 letters and/or digits

如果不使用^运行正则表达式,则添加$matches()

这意味着完整的正则表达式:

^(?=.*?[a-zA-Z].*?[a-zA-Z])(?=.*?[0-9].*?[0-9])[a-zA-Z0-9]{8}$

为了获得最佳性能,请使用负字符类替换.模式。在这种情况下,您可能想通过重复的非捕获组来缩短它:

(?=(?:[^a-zA-Z]*[a-zA-Z]){2})
(?=(?:[^0-9]*[0-9]){2})

更新

由于问题已更新为需要用正则表达式来用*代替此类单词,应将^$锚点更改为\b单词边界模式,并且必须将负字符类更改为仅跳过有效字符:

s = s.replaceAll("\\b(?=(?:[0-9]*[a-zA-Z]){2})(?=(?:[a-zA-Z]*[0-9]){2})[a-zA-Z0-9]{8}\\b", "********");

参见regex101进行演示。

请注意,给定示例中的vaff8loe仅包含1位数字,因此不应替换。

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

Javascript-Urls的奇怪字符串比较行为 - javascript

最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com‏/&#…

用绝对值替换字符 - javascript

当搜索我的数据库时,除“ +”外,所有特殊字符都起作用-它认为它是一个空格。在后端是python时,接收特殊字符没有问题,我相信这是Javascript的前端我需要做的是替换“ +” ==“%2b”。有没有办法让我使用create this,使其具有不断增长的价值? 参考方案 您可以使用decodeURIComponent('%2b'),…

在两个值之间匹配并返回正则表达式 - javascript

我正在尝试使用正则表达式从字符串中获取值,该值是tt="和"&之间的文本的值因此,例如,"tt="Value"&"我只想从中得到单词"Value"。到目前为止,我已经有了:/tt=.*&/这给了我"tt=Value"&,然后,要…

如何使用正则表达式提取JavaScript变量 - javascript

我需要使用python脚本(2.7)从远程页面提取包含多行JSON的javascript变量,并且我想使用regex来执行此操作,但是我的模式未返回任何内容我究竟做错了什么 ?这是我的代码:request = urllib2.Request("http://somesite.com/affiliates/") result = urlli…