Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用正则表达式将数字字符串替换为该字符串的填充版本?_Regex_String_Padding - Fatal编程技术网

Regex 如何使用正则表达式将数字字符串替换为该字符串的填充版本?

Regex 如何使用正则表达式将数字字符串替换为该字符串的填充版本?,regex,string,padding,Regex,String,Padding,我有一个程序,可以在一个目录中搜索,将文件加载到DB中,将文件名与DB中的ID字段匹配,使用正则表达式搜索模式 DB包含IDAAA,ex 14ABC000123,而文件名通常包含AAA ex 14ABC123,我需要匹配这两个的正则表达式,从文件名返回完整ID。直到现在我才想出 ([0-9]{2})([A-Z]{3})([0-9]{1,6}) 但是,当将1美元2美元3美元返还给matcher时,它却错发了,说14ABC123!=14ABC000123。请帮忙。看来你需要去掉零。试试这个: ([

我有一个程序,可以在一个目录中搜索,将文件加载到DB中,将文件名与DB中的ID字段匹配,使用正则表达式搜索模式

DB包含IDAAA,ex 14ABC000123,而文件名通常包含AAA ex 14ABC123,我需要匹配这两个的正则表达式,从文件名返回完整ID。直到现在我才想出

([0-9]{2})([A-Z]{3})([0-9]{1,6})

但是,当将1美元2美元3美元返还给matcher时,它却错发了,说14ABC123!=14ABC000123。请帮忙。

看来你需要去掉零。试试这个:

([0-9]{2})([A-Z]{3})0*?([1-9]{1,6})

火柴在哪里/什么地方?它返回给你的声明肯定是真的。。。您使用的是什么语言?这将无法捕获102的0之后的ID号。这里没有必要让量词变懒,您可以简单地使用