这个正则是什么意思???

这个正则是什么意思Pattern pattern = Pattern.compile("(.+?)=(.+)");

1个回答

“.”是通配符,代表任意单个字符(换行符\n除外)
“+”允许模式重复1此或多次
“?”子模式出现1次货不出现
“()”是组,捕获内容后复用的时候用得到

我用的是pythhon,做一个示范:
首先是贪婪模式:(.+)=(.+)

>>> import re

>>> pattern=re.compile("(.+)=(.+)");
>>> result=re.mathc(pattern,"abcde=1234=zcv")
>>> result=re.match(pattern,"abcde=1234=zcv")
>>> result.group(1)  # 注释:输出第一组捕获内容,左边的(.+)匹配的内容
'abcde=1234'

非贪婪匹配模式(.+?)=(.+)

>>> pattern=re.compile("(.+?)=(.+)");
>>> result=re.match(pattern,"abcde=1234=zcv")
>>> result.group(1) # 注释:输出第一组捕获内容,左边的(.+?)匹配的内容
'abcde'
>>>

可以看到贪婪模式匹配的的group(1)内容比非贪婪模式的多。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐