我不能让这个正则表达式解析第n个令牌/匹配。匹配令牌很简单,但我无法提取所需的精确匹配。
正则表达式:(?:\w+){2}(\w+)
输入:
001.002.003.004
450000.459999.1.0.1.0
使用(\w+)
匹配所有令牌。效果很好。但我不能提取第n个(例如,3或4)。
非常感谢您的帮助。
发布于 2017-09-21 14:12:57
(?:\w+){2}
不会工作,因为它与句号不匹配。\w+
匹配到句点,这就是匹配结束的地方,因为在您的正则表达式匹配周期中没有任何内容。
尝试(?:\w+\.){N}(\w+)
,其中N
是您想要跳过的组数。因此,要捕获第三个值,N应为2
,要捕获第四个值,应为3
,依此类推。
发布于 2017-09-21 14:04:55
https://stackoverflow.com/questions/46346015
复制相似问题