标签: regex
给出一个长度为10的字符串 例如:0002312577 我需要回归两组: 第1组应该是整个字符串 第2组只有一个数字> 0,可以是字符串中的任何数字
怎么做?试了好几个小时没有运气,应该很简单。这就是我尝试过的。
part
我必须编制一台以正则表达式作为输入的工业机器 谢谢
答案 0 :(得分:0)
如果我理解你的话,应该这样做:
^(?=0*([1-9]))([0-9]{10})$
它将匹配并捕获一个10位数的字符串,并捕获第二组中的第一个非零数字。
<强>解释强>
^确保我们在字符串的开头
^
(?=0*([1-9]))向前看(不消耗)到第一个非零数字并捕获它
(?=0*([1-9]))
([0-9]{10})确保整个字符串为10位数并将其捕获
([0-9]{10})
您可以对其进行测试here。
答案 1 :(得分:0)
以下是根据需要提供2组的解决方案:((0|\d){9}[1-9])
((0|\d){9}[1-9])
Demo
另一个只有一个组匹配数字&gt; 0:(0|\d){9}[1-9]
(0|\d){9}[1-9]