这个怎么弄正则表达式

解决方案 »

  1.   

    @"^(?=[a-zA-Z0-9]*[-_/ ]?[a-zA-Z0-9]*$)(?![-_/ ])[-_/ a-zA-Z0-9]*(?![-_/ ])$"
      

  2.   

    try...^(?!(?:[^_/ -]*[_/ -]){2,})(?![_/ -])[a-zA-Z0-9_/ -]*[a-zA-Z0-9]$
      

  3.   

    ^[a-zA-Z0-9]+[-_ a-zA-Z0-9]?[a-zA-Z0-9]+$
      

  4.   

    如果字符串会小于2个的话用这个正则表达式:^[a-zA-Z0-9]+([-_ a-zA-Z0-9]?[a-zA-Z0-9]+)?$
      

  5.   

    try:
    "^(?:(?=[^-]*-?[^-]*$)|(?=[^_]*_?[^_]*$)|(?=[^/]*/?[^/]*$)|(?=[^ ]* ?[^ ]*$))(?![-_/ ])[-_/\sa-zA-Z0-9]*(?![-_/ ])$"
      

  6.   

    Response.Write(System.Text.RegularExpressions.Regex.IsMatch("a_", @"^[a-zA-Z0-9]+([-_ a-zA-Z0-9]?[a-zA-Z0-9]+)?$"));我这个返回的是False,是预料的结果。不知道wuyi8808大虾是怎么测试的。
      

  7.   

    这个就对了,不能用\w,不好意思啊
    @"^[a-zA-Z0-9]+([-_/]|\s)?[a-zA-Z0-9]+$"
      

  8.   

    能空字符串吗?能的话改成这样吧
    ^([a-zA-Z0-9]+([-_ a-zA-Z0-9]?[a-zA-Z0-9]+)?)?$
      

  9.   

    是啊,补上
    ^([a-zA-Z0-9]+([-_ /a-zA-Z0-9]?[a-zA-Z0-9]+)?)?$
      

  10.   


    不好意思,漏了个'<',最后的(?![-_/ ])应该是(?<![-_/ ]):
    ^(?=[a-zA-Z0-9]*[-_/ ]?[a-zA-Z0-9]*$)(?![-_/ ])[-_/ a-zA-Z0-9]*(?<![-_/ ])$但还是你的正则更简单易懂些。
      

  11.   

    不知道空字符串是当做特殊字符处理还是做普通字符处理,如果是当做普通字符的话
    @"^[a-zA-Z0-9\s]+([-_/])?[a-zA-Z0-9]+$" 
    如果是特殊字符的话
    @"^[a-zA-Z0-9]+([-_/\s])?[a-zA-Z0-9]+$" 
      

  12.   

    对了,我还没有考虑一个字符的情况
    不知道空字符串是当做特殊字符处理还是做普通字符处理,如果是当做普通字符的话 
    C# code@"^[a-zA-Z0-9\s]+(([-_/])?[a-zA-Z0-9]+)?$" 如果是特殊字符的话 
    C# code@"^[a-zA-Z0-9]+(([-_/\s])?[a-zA-Z0-9]+)?$" 
      

  13.   


    还可以短些:"(?in)^([a-z0-9]+([-_/ ]?[a-z0-9]+)?)?$"
      

  14.   

    再整理一下,当空字符串作为普通字符处理时
    @"^[a-zA-Z0-9\s]+(([-_/])?[a-zA-Z0-9\s]+)?$"当空字符串作为特殊字符处理时
    @"^[a-zA-Z0-9]+(([-_/\s])?[a-zA-Z0-9]+)?$"
      

  15.   

    @"^[a-zA-Z0-9]+([-]?[a-zA-Z0-9]*[_]?[a-zA-Z0-9]*[/]?[a-zA-Z0-9]*\s?[a-zA-Z0-9]+)?$"
      

  16.   

    首先感谢wuyi8808
    lxcnn
    junshanhudazhaxi
    mbh0210
    ytycoffe
    谢谢你们的帮助,可能我的需求不是很明确,不好意思,呵呵
    不过现在可以了,看了你们的讨论,学习了,哈哈啥也不说了 散分
      

  17.   


    按楼主的需求,这个是不对的,测试用例
    abc/def-ghi暂时写了一个,可用,但由于楼主没限定长度,可能存在效率问题,有时间我再看下
    ^(?!.*?([_/ -]).*?\1)(?![_/ -])[a-zA-Z0-9_/ -]*[a-zA-Z0-9]$
      

  18.   


    那个测试用例确实通不过
    暂时没有长度限制
    谢拉lxcnn
      

  19.   

    @"^[a-zA-Z0-9]+([-]?[a-zA-Z0-9]*[_]?[a-zA-Z0-9]*[/]?[a-zA-Z0-9]*\s?[a-zA-Z0-9]+)?$"这个应该有顺序问题 只能按照先“-” 然后“_” 然后“/” 这样才不会错
    如果把 “/” 放到“-”“_”之前 就会报错需求是没有顺序的