Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于6到32个字母数字字符的正则表达式_C#_Regex - Fatal编程技术网

C# 用于6到32个字母数字字符的正则表达式

C# 用于6到32个字母数字字符的正则表达式,c#,regex,C#,Regex,我正在寻找具有以下规则的正则表达式: 字母数字,至少包含1个数字和1个字母 允许使用一些特殊字符和西班牙语字符 不应允许有空格 我提出了以下方法,除了防止空间外,其他方法都可以: ^(?=.*\d)(?=.*[a-zA-Z~!@\$\^\-_\+\|\.\?\u005b\u005d\u00e1\u00c1\u00e9\u00c9\u00ed\u00cd\u00f3\u00d3\u00fa\u00da\u00f1\u00d1\u00fc\u00dc\u00bf\u00a1\u2014]).{6,3

我正在寻找具有以下规则的正则表达式:

  • 字母数字,至少包含1个数字和1个字母
  • 允许使用一些特殊字符和西班牙语字符
  • 不应允许有空格
  • 我提出了以下方法,除了防止空间外,其他方法都可以:

    ^(?=.*\d)(?=.*[a-zA-Z~!@\$\^\-_\+\|\.\?\u005b\u005d\u00e1\u00c1\u00e9\u00c9\u00ed\u00cd\u00f3\u00d3\u00fa\u00da\u00f1\u00d1\u00fc\u00dc\u00bf\u00a1\u2014]).{6,32}$
    
    如何将其修改为标记空间?
    任何帮助都将不胜感激。

    您可以尝试以下方式:

    ^(?=[A-Za-z0-9])(?=[A-Za-Z~!\$\^-\\\\\\\\.\?\u005b\u005d\u00e1\u00c1\u00e9\u00c9\u00ed\u00cd\u00f3\u00d3\u00fa\u00da\u00f1\u00d1\u00fc\u00dc\u00bf\u00a1\u2014])6,32}$


    在您当前的正则表达式中,似乎有一个通配符匹配器(
    ),它应该匹配您不希望匹配的空间。通配符出现在3个位置,
    ^(?=.\d)
    (?=[a
    14])。
    。因此,您的正则表达式应该最多允许3个空格字符,一个在初始数字之前,一个在初始数字集之后,一个在末尾。

    使用负向前看来否定空格字符


    示例负前瞻
    (?!^.*\s)

    完全正则表达式
    ^.*(![^-~\u005b\u005d\u00e1\u00c1\u00e9\u00c9\u00ed\u00cd\u00f3\u00d3\u00fa\u00da\u00f1\u00d1\u00fc\u00dc\u00bf\u00a1\u2014])(?!^.*\s)(?=^.*\d)(?=^.[a-zA-Z])$

    我对regex进行了修改,使其更符合典型的密码验证技术

    具体地说,我更改了正面的lookaheads,以便它们以
    ^.*
    开头,从而验证整个字符串,而不仅仅是当前位置右侧的任何字符串

    我还将它们分开,以便对每一个都进行验证,而不是一个字符类,该类旨在具有多个需求,但可以由单个需求来满足


    最后,我将character类中的ASCII更改为以下范围:
    -~包含除空格外的所有字母、数字和符号。

    请参阅关于在一个表达式不能满足所有要求的情况下,不能通过一系列过滤器。即使有一个优雅的解决方案,这似乎允许所有特殊字符。我的印象是你想要特殊字符:)更改
    -~范围”。