Regex 正则表达式从特定位置提取四个数字的第一部分
如何使用正则表达式从以下字符串中提取第8个数字Regex 正则表达式从特定位置提取四个数字的第一部分,regex,Regex,如何使用正则表达式从以下字符串中提取第8个数字之后的四个数字,该数字是动态的 20190715171712904_10008_file_activate_10.20.30.4000233223456_name.unl 20190715141712904_10008_runco_activate_10.20.30.40_name.unl 从第一个字符串我要1717 从第二个字符串我要1417 我试着在e 我尝试了^\d{8}([0-9]{4})$,但不起作用。放下$。它强制表达式在您的4位数
之后的四个数字,该数字是动态的
20190715171712904_10008_file_activate_10.20.30.4000233223456_name.unl
20190715141712904_10008_runco_activate_10.20.30.40_name.unl
从第一个字符串我要1717
从第二个字符串我要1417
我试着在e
我尝试了^\d{8}([0-9]{4})$
,但不起作用。放下$
。它强制表达式在您的4位数字之后查找字符串的结尾,而不是。答案将出现在第一个子组捕获中。注意:第二个[0-9]
也可以使用\d
如果您的语言支持look behinds,则可以将您的数字捕获为主捕获,而不是子组:
(?<=^\d{8})\d{4}
(?删除尾端的$
。*最后。$表示正则表达式匹配字符串的结尾。工作正常,您知道其他方法而不向后看吗?@omarivectoromosa是的,您发布的内容没有$
。答案中有。结果将在第一个子组匹配中。@omarivectoromosa另一个想法发生在我-可能完全不使用正则表达式是有益的-也添加了这一点。如果不使用正则表达式,您会使用什么其他表达式?我使用的系统有一个用于过滤的正则表达式框,这就是我使用它的原因