早教吧作业答案频道 -->英语-->
高手指点:请问这个正则表达式表示神马啊regex="|";我不只要结果,我要分析的过程,谢谢先分析我知道\是表转义,\w是任意一个字母或数字或下划线,.是除了换行符(\n)以外的任意一个字符,+
题目详情
高手指点:请问这个正则表达式表示神马啊regex="|";我不只要结果,我要分析的过程,谢谢
先分析
我知道\是表转义,\w是任意一个字母或数字或下划线,.是除了换行符(\n)以外的任意一个字符,+是表达式至少出现1次,?是匹配表达式0次或者1次
可是放在一起就不知道怎么看了,到底是什么意思啊,前辈指点.
先分析
我知道\是表转义,\w是任意一个字母或数字或下划线,.是除了换行符(\n)以外的任意一个字符,+是表达式至少出现1次,?是匹配表达式0次或者1次
可是放在一起就不知道怎么看了,到底是什么意思啊,前辈指点.
▼优质解答
答案和解析
+是指.能匹配的字符,出现至少一次.这里的?,你说错了.是取消贪婪算法的.+?可以认为“.”匹配上一次.
*?, +?, ?
The "*", "+", and "?" qualifiers are all greedy; they match as much text as possible. Sometimes this behaviour isn't desired; if the RE is matched against 'title', it will match the entire string, and not just ''. Adding "?" after the qualifier makes it perform the match in non-greedy or minimal fashion; as few characters as possible will be matched. Using .*? in the previous expression will match only ''.
还是看例子吧
>>> kk = re.match('(\w.+?)', 'hi all')
>>> kk.groups()
('hi',)
>>> kk = re.match('(\w.+)', 'hi all')
>>> kk.groups()
('hi all',)
>>>
可以认为\w匹配上h,.可以匹配h后面的字符,+是指.匹配到的数目至少是1个.对于没有?的情况,.+就会匹配h后所有的字符(至少一个,就是>1).有?的时候,就是取消贪婪算法(匹配尽量多),.+匹配上i之后,就不再进行后面的匹配.
所以结果分别是“hi”和“hi all”
*?, +?, ?
The "*", "+", and "?" qualifiers are all greedy; they match as much text as possible. Sometimes this behaviour isn't desired; if the RE is matched against 'title', it will match the entire string, and not just ''. Adding "?" after the qualifier makes it perform the match in non-greedy or minimal fashion; as few characters as possible will be matched. Using .*? in the previous expression will match only ''.
还是看例子吧
>>> kk = re.match('(\w.+?)', 'hi all')
>>> kk.groups()
('hi',)
>>> kk = re.match('(\w.+)', 'hi all')
>>> kk.groups()
('hi all',)
>>>
可以认为\w匹配上h,.可以匹配h后面的字符,+是指.匹配到的数目至少是1个.对于没有?的情况,.+就会匹配h后所有的字符(至少一个,就是>1).有?的时候,就是取消贪婪算法(匹配尽量多),.+匹配上i之后,就不再进行后面的匹配.
所以结果分别是“hi”和“hi all”
看了 高手指点:请问这个正则表达式...的网友还看了以下:
已知双曲线-=1(a>0b>0)的左、右顶点分别为A、B,右焦点为F(c0)(c>0),右准线为l 2020-04-08 …
已知直线l的参数方程为x=-1+12ty=32t(t为参数),曲线C的参数方程为x=cosφy=c 2020-05-15 …
已知指令字长为16位,每个地址码为4位,采用扩展操作码的方式,设计15条三地址指令15条二地址指令 2020-06-03 …
急二重积分坐标变换D是由曲线y=x^3,y=4x^3,x=y^3,x=4y^3所围成的第一象限部分 2020-06-12 …
2008年6月9日《中国教育在线》报道:潍坊市教育局于近日下发《关于在初中学校开展人生规划与职业指 2020-06-22 …
定义点P(x0,y0)到直线l:Ax+By+C=0(A2+B2≠0)的有向距离为d=Ax0+By0 2020-07-09 …
知识要点导练知识点一wayroadstreet和pathway作名词时,意为“路线,道路”,指st 2020-07-11 …
1.若点P(a,b)在x或y轴上,则它的坐标有什么特征?2.若点P(a,b)在平行于x轴或者平行与 2020-08-02 …
三点一线.指三个点连成一条线.构成一个哲学.在光的作用下.三者之间各有什么变化反应?或者讲:四点.. 2020-11-30 …
下列关于地图辨别方向的叙述正确的是()A.面对地图,通常是“上北下南,左西右东”B.纬线指示南北,经 2021-01-15 …