繁体   English   中英

正则表达式从字符串中提取为2组

[英]regex extracting from string into 2 groups

给定一个弦长为10的字符串
例如:0002312577
我需要返回两组:
组1应该是整个字符串
组2只有一个数字> 0,可以是字符串中的任何数字

这个怎么做 ? 试了几个小时没有运气,应该很简单。 这就是我尝试过的。

([0-9]{10,10})([1-9]{1,1})

我必须对以正则表达式为输入的工业机器进行编程
谢谢

如果我理解正确,应该这样做:

^(?=0*([1-9]))([0-9]{10})$

它将匹配并捕获10个数字的字符串,并捕获第二个组中的第一个非零数字。

说明

^确保我们在字符串的开头开始匹配

(?=0*([1-9]))向前(不消耗)到第一个非零数字并将其捕获

([0-9]{10})确保整个字符串为10位数字并将其捕获


您可以在这里进行测试。

这是根据需要提供2组的解决方案: ((0|\\d){9}[1-9])

演示

而另一组只有一个组匹配数> 0: (0|\\d){9}[1-9]

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM