11+?在perl中怎么解释

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
alinmn
帖子: 185
注册时间: 2006-05-19 21:42
来自: NIT

11+?在perl中怎么解释

#1

帖子 alinmn » 2007-10-18 20:29

在一个脚本

代码: 全选

perl -wle ‘print "prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/'
中看到的。
我试了一下,在egrep中的11+?和1(1+)?表现是一样的,在perl中11+?和11+是一样的,好像?只对+起作用。请教一下高手是不是这样。
pythonlong
帖子: 140
注册时间: 2005-07-29 0:42

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

#2

帖子 pythonlong » 2007-10-19 9:35

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,个数也不确定
其实就是等价的,不是?只对+起作用
头像
alinmn
帖子: 185
注册时间: 2006-05-19 21:42
来自: NIT

#3

帖子 alinmn » 2007-10-19 13:00

在egrep中1可以匹配11+?,perl中不行
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#4

帖子 BigSnake.NET » 2007-10-19 13:18

+? 重复1次或更多次,但尽可能少重复
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
alinmn
帖子: 185
注册时间: 2006-05-19 21:42
来自: NIT

#5

帖子 alinmn » 2007-10-19 17:58

OK. Thanks. Got it!
回复