要求:以$开头,头文字以外不能有$。如:$Menu_Search,$04,$bell。谢谢大家。

解决方案 »

  1.   

    我认为是^\$[^$]yellowhwb(雨花石)的好像不对,我试验了一下,
    \$[^\$]*只要字符串中有$就能匹配。
      

  2.   

    http://www.blueidea.com/bbs/newsdetail.asp?id=303249
      

  3.   

    to  panda2fw2
    你写的不对,^\$[^$]只能匹配2个字符,一个是$,再加一个非$的字符。
    \$[^\$]*是对的,
      

  4.   

    to yellowhwb(雨花石)
    我在程序里试验过了,我对正则表达式不怎么熟悉,所以特意试验了一下。你的那个所有带有$的字符串都会匹配成功。
      

  5.   

    yellowhwb(雨花石)的不对,我的网络只能上CSDN。所以别的网站都不能打开,要不然自己动手查了。
      

  6.   

    panda2fw2(我爱Monkey)的匹配,
     JasonHeung(拥有一切也只不过这样笑着哭) 可不可以给出即匹配又合法的呢??
      

  7.   

    ^\$[^$]*和^\$[^$]*$我都试了,都满足要求,这两个有什么区别吗?
    Ivony() ,为什么^\$[^$]*不对呢?我测了一下,是可以的。你的也匹配。
      

  8.   

    to : minersi(懒虫族之慵懒的猫猫) 
    你真试过了吗?用^\$[^$]*和^\$[^$]*$来匹配,只要字符串有$就能匹配成功。
    楼主要求的是除了开头能有$,其他不能有$。我试验2遍了。
      

  9.   

    ^\$[^$]*和^\$[^$]*$我都试了,都满足要求,这两个有什么区别吗?
    Ivony() ,为什么^\$[^$]*不对呢?我测了一下,是可以的。你的也匹配。
    $是字符串结尾断言符。表示在这个地方字符串一定要结束才匹配。我试验了没问题,另外,看看你的字符串中是够有回车符,以及是否打开了MultiLine选项。
      

  10.   

    to :panda2fw2(我爱Monkey)
        我试过几次了,也好符合啊.
        不知你的测试代码是什么?贴出来让我试试。
        这是我的测试代码。你可以试试。
        if (Regex.IsMatch("$d0d9", @"^\$[^$]*"))  如果换成d0$d9就不匹配了。
        {
    Console.Write("OK");
        }
        else
        {
    Console.Write("Error");
        }
      

  11.   

    sorry,没看到^,但是^\$[^\$]*还是错的,它匹配string d = @"$dfsdfsd$fsdfs"成功了,但是条件应该是只在字符串开头有一个$。
      

  12.   

    TO:Ivony() 
        我的字符串是从CSV文件中读出来的,回车换行符都被过滤掉了,所以没有换行符的问题。
      

  13.   

    ^符号在开头表示模式的开始,$在最后表示模式的结束,真正的匹配是\$[^\$]*,测试程序要这样写:
    if (Regex.IsMatch("$d0d9", @"^\$[^\$]*$"))
        {
    Console.Write("OK");
        }
        else
        {
    Console.Write("Error");
        }
      

  14.   

    看错了,原来你已经成功了。
    ^\$[^$]*会匹配:
    $fdhufsd$
    而^\$[^$]*$不会。