分页: 1 / 1

11+?在perl中怎么解释

发表于 : 2007-10-18 20:29
alinmn
在一个脚本

代码: 全选

perl -wle ‘print "prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/'
中看到的。
我试了一下,在egrep中的11+?和1(1+)?表现是一样的,在perl中11+?和11+是一样的,好像?只对+起作用。请教一下高手是不是这样。

Re: 11+?在perl中怎么解释

发表于 : 2007-10-19 9:35
pythonlong
alinmn 写了:在一个脚本

代码: 全选

perl -wle ‘print "prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/'
中看到的。
我试了一下,在egrep中的11+?和1(1+)?表现是一样的,在perl中11+?和11+是一样的,好像?只对+起作用。请教一下高手是不是这样。
不是这样滴。
11+?的意思等价于1(1+)?的啊。

11+?表示11xxxxxxxxxxxxxxxxxx,x是1,个数不确定
1(1+)?表示11(xxxxxxxxxxxxxxxxx)?,x是1,个数也不确定
其实就是等价的,不是?只对+起作用

发表于 : 2007-10-19 13:00
alinmn
在egrep中1可以匹配11+?,perl中不行

发表于 : 2007-10-19 13:18
BigSnake.NET
+? 重复1次或更多次,但尽可能少重复

发表于 : 2007-10-19 17:58
alinmn
OK. Thanks. Got it!