关于Java正则表达式问题?
如图,什么是“不捕获该匹配的子表达式”?什么是“不存储以后使用的匹配”?有人能举个例子之类的通俗地解释一下吗?求大佬,谢谢!...
如图,什么是“不捕获该匹配的子表达式”?什么是“不存储以后使用的匹配”?有人能举个例子之类的通俗地解释一下吗?求大佬,谢谢!
展开
展开全部
就是说这个正则表达式模式,即(?:模式)中的模式匹配到的字符串不会保存起来供需要时访问。
与此相反,(模式)中的模式匹配到的字符串会保存起来,以后可以访问。
比如,对于字符串"1a23A4",用模式(\d)(?:\w)(\d\d)(\w)(?:\d)去匹配,(\d)是分组1捕获数字1,(?:\w)匹配字母a但不捕获a,(\d\d)是分组2捕获数字23,(\w)是分组3捕获字母A,(?:\d)匹配数字4但不捕获。
假设有Matcher m;
则捕获到的所有分组,可以通过匹配对象m的group(分组编号)方法来访问,如m.group(1)就是数字1,m.group(3)就是字母A。
与此相反,(模式)中的模式匹配到的字符串会保存起来,以后可以访问。
比如,对于字符串"1a23A4",用模式(\d)(?:\w)(\d\d)(\w)(?:\d)去匹配,(\d)是分组1捕获数字1,(?:\w)匹配字母a但不捕获a,(\d\d)是分组2捕获数字23,(\w)是分组3捕获字母A,(?:\d)匹配数字4但不捕获。
假设有Matcher m;
则捕获到的所有分组,可以通过匹配对象m的group(分组编号)方法来访问,如m.group(1)就是数字1,m.group(3)就是字母A。
追问
又是你大佬,谢谢
懂了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询