日期:2014-05-20  浏览次数:21061 次

(?<=^\[length=)(\d+)(?=\])这个正则表达式如何理解?
(?<=^\[length=)(\d+)(?=\])这个正则表达式如何理解?
最糊涂的是.net的“?“在分组的前面?
”=“是什么意思?
”<“有事什么意思?

------解决方案--------------------
表示匹配length=后面的数字。
?<=这个叫零宽度正回顾后发断言
------解决方案--------------------
首先问你这个正则懂不懂
^\[length=\d+\]
如果那个不懂,没那么简单给你解释明白
如果那个懂,那么
(?<=^\[length=)(\d+)(?=\])
就是把除length=后面的数字保留到最终的匹配结果中,其它的作为条件存在了

(?<=expression)
(?=expression)
这两个是环视,不是分组,参考我的博客
正则基础之——环视