我正在尝试为某些验证构建一个正则表达式。我想检查字符串是否是至少一个字母和一个整数的组合。为此,我试过这个^(?=.*[\w][\d]).+
我不太了解正则表达式。此表达式检查字符串中的aplhabet和number,但它希望字符串在开头具有字母表。相反,我只想检查字符串中是否存在字母和数字,而不管出现的次数和顺序。字母表也可以是大写字母或小字母,所以我猜单词检查将不区分大小写。该字符串可能包含特殊字符以及任何组合和顺序的字和数字,但任何空格都应该被丢弃。有人可以帮忙吗?
答案 0 :(得分:3)
你必须使用两个前瞻:
/(?=.*[a-z])(?=.*[0-9])/i
答案 1 :(得分:1)
Blender的答案是正确的,但是我建议你选择一个更容易理解的正则表达式。
你正在寻找的实际上是两种情况中的一种:一串字符,首先包括一个字母,然后是一个字母,然后是反向的字母。
第一种情况是:/.*[a-zA-Z].*[0-9].*/
。
第二种情况是:/.*[0-9].*[a-zA-Z].*/
。
然后,您可以将这些组合成一个语句:
/(.*[a-zA-Z].*[0-9].*)|(.*[0-9].*[a-zA-Z].*)/
这可以进一步简化,但我希望这可以让你了解如何处理像这样的正则表达式问题。