从后续字符串中提取数据的正则表达式是什么

时间:2016-05-04 10:14:22

标签: java regex match extract extraction

我必须编写一个必须提取前16位数(0989563275315984),crtexttiff1.0_xcvb-uploadtheDoc-hkl56895-20990415-05:11:24,897-2013027676

的应用程序
0989563275315984-1.0_xcvb-uploadtheDoc-hkl56895-20990415-05:11:24,897-2013027676-crtext-tiff.wrk

到目前为止我提出的正则表达式是:

([0-9a-zA-Z]+)-(\\d\\.\\d[_0-9a-zA-Z]*)-([0-9a-zA-Z]+).([a-zA-Z]+).([0-9]?).*

有没有办法为此要求编写正则表达式。提前谢谢。

2 个答案:

答案 0 :(得分:1)

容易!

^(\d{16})-(.+)-(\w+)-(\w+)\.wrk$

演示: https://regex101.com/r/aK5fY9/3

说明:

秘密^$^是字符串锚点的开头,$是字符串锚点的结尾。 {16}表示角色出现的次数。

答案 1 :(得分:1)

试试这个

(\d{16})-(.*?)-(\w+)-(\w+)\.

Regex demo

<强>解释
( … ):捕获小组sample
\:逃脱一个特殊字符sample
.:除了换行符sample之外的任何字符 *:零次或多次sample
?:一次或无sample
\w:&#34;字符&#34;:ASCII字母,数字或下划线sample
+:一个或多个sample