none
正则表达式的写法 RRS feed

  • 问题

  • string pattern=@"(?<=^\[length=)(\d+)(?=\])"

    这个式子,大概是要匹配[length=25]这类,但我不明白的是式子前面加了一个@符号,后面还要 \ 干嘛,是不是多余了。

     

    2011年6月17日 3:29

答案

  • @也可以不加的

     

    string pattern="(?<=^\\[length=)(\\d+)(?=\\])"

     

    [ ] 在正则表达式内是有特殊含义的  表一定的范围

    当要匹配 [ ]  就要用\[  \] 转义


    Best Regards,
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    2011年6月17日 5:48

全部回复

  • \ 不是字符串转义用的,而死正则表达式的一部分。

     

    要是前面没有了 @, 字符串里面还需要多一堆 \ 来转义正则表达式的 \。


    学习学习....
    2011年6月17日 3:50
  • @也可以不加的

     

    string pattern="(?<=^\\[length=)(\\d+)(?=\\])"

     

    [ ] 在正则表达式内是有特殊含义的  表一定的范围

    当要匹配 [ ]  就要用\[  \] 转义


    Best Regards,
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    2011年6月17日 5:48
  • 正则表达式(?<=^\[length=)(\d+)(?=\])

    (?<=^\[length=)中的"?<="作用是什么?

    (?=\])中的"?="作用是什么?


    2011年8月1日 0:58