悠悠博客
(讨论区存档) — 技术永无止尽,未来事在人为
首页
>
perl编程
>
/^/s*((?:[^:/s]*?:)?)/
drosophilia
/^/s*((?:[^:/s]*?:)?)/
/^/s*((?:[^:/s]*?:)?)/
有点不解, 第一个 和第二个? 是啥意思,前面好像没有前导字符啊,
例如说第一个? 前面是( 它修饰的难道是( 好像不对吧
第二个? 前面是* *修饰的是[^:/s] 为什么还来个修饰符?
另外就是有括号的嵌套, 到底那一个算匹配的内容(返回作为列表元素)
[[i] 本帖最后由 drosophilia 于 2008-5-14 11:03 编辑 [/i]]
churchmice
[code]
(?:pattern)
[/code]
其中的pattern是不捕获的,也就是说你不能用$1来访问,这样有来两个好处
1.运行更快
2.程序每次升级不用改变原先的$x编号
churchmice
[code]
x*?
[/code]
表示非贪婪匹配,对前面的x进行尽可能少的匹配,一开始匹配0次,如果整个匹配不成功,则匹配1次,依次类推
上一篇:
变量值的最大字符数?
下一篇:
用perl编写sflow解码程序时的MAC为什么出现乱码!来个人回复一下啊!9命的!