不能构造正则表达式

Cannot construct regex

本文关键字:正则表达式 不能      更新时间:2023-09-26

我试图为一些验证建立一个正则表达式。我想检查一个字符串是否是至少一个字母和一个整数的组合。为此,我尝试了这个^(?=.*['w]['d]).+,我不太了解正则表达式。这个表达式检查字符串中的字母和数字,但它希望字符串的开头有一个字母。相反,我只是想检查字母和数字是否都存在于字符串中,而不管出现的数字和顺序。此外,字母可以是大写或小写,所以我猜单词检查将是不区分大小写的。字符串可以包含特殊字符,以及任何组合和顺序的单词和数字,但应丢弃任何空格。有人能帮忙吗?

您必须使用两个前瞻:

/(?=.*[a-z])(?=.*[0-9])/i

Blender的答案是正确的,但是我建议使用一个更容易理解的正则表达式。

你要找的实际上是两种情况之一:一串字符,先包含一个字母,然后在某个时间后包含一个数字,或者相反。

第一个场景将是:/.*[a-zA-Z].*[0-9].*/

第二种情况是:/.*[0-9].*[a-zA-Z].*/ .

你可以将这些组合成一个语句:

/(.*[a-zA-Z].*[0-9].*)|(.*[0-9].*[a-zA-Z].*)/

这可以进一步简化,但我希望这能给你一些关于如何处理这样的正则表达式问题的想法