yuantian 发表于 2019-8-19 22:12:35

[已解决]请教正则表达式

本帖最后由 yuantian 于 2019-8-19 23:28 编辑

我有一个小数,格式约为20190811163051.000000+480这样的。

然后想通过什么方式,将格式转为
2019-08-11 16:30:51然而才疏学浅,只别出来个正则表达式,进行匹配
(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\.*请问各位大大,
1、有什么更好的方式(精简这个正则表达式)能够搞定这个么?
2、或者是换什么格式化方式。。。


感谢各位得回答,谢谢。
:face (13):

afan 发表于 2019-8-19 22:19:26

就这样就行了用替换模式

chishingchan 发表于 2019-8-19 22:53:09

楼主的这种格式比较直观好理解!还有一种时间比较复杂的的:
例如: 2018-06-18 00:00:00
表示: ff 87 05 00 e2 07 06 00 01 00 12 00 00 00 00 00 00 00 00

yuantian 发表于 2019-8-19 23:07:44

afan 发表于 2019-8-19 22:19
就这样就行了用替换模式

A大,我主要是想精简一下那个正则。,感觉有点儿太长了。后面那个5遍的,可以精简重复掉么?

yuantian 发表于 2019-8-19 23:09:36

chishingchan 发表于 2019-8-19 22:53
楼主的这种格式比较直观好理解!还有一种时间比较复杂的的:
例如: 2018-06-18 00:00:00
表示: ff 87 05...

所以,我需要转换为16进制?那不更麻烦啦?
:face (2):

afan 发表于 2019-8-19 23:13:28

本帖最后由 afan 于 2019-8-19 23:15 编辑

yuantian 发表于 2019-8-19 23:07
A大,我主要是想精简一下那个正则。,感觉有点儿太长了。后面那个5遍的,可以精简重复掉么?
你本来就有6个分开引用的组,没办法精简,而且这已经很简单了,还要怎么简你如果觉得长了点好吧
(\d{4})(\d.)(\d.)(\d.)(\d.)(\d.)

yuantian 发表于 2019-8-19 23:18:09

afan 发表于 2019-8-19 23:13
你本来就有6个分开引用的组,没办法精简,而且这已经很简单了,还要怎么简你如果觉得长了点好吧
(\d{ ...

额。好像没啥区别。好的,谢谢A大。

afan 发表于 2019-8-19 23:19:47

yuantian 发表于 2019-8-19 23:18
额。好像没啥区别。好的,谢谢A大。

本来就告诉你已经是很精简了~这样只是减少字数而已
StringRegExpReplace($sNum, '(\d{4})(\d.)(\d.)(\d.)(\d.)(\d.).+', '$1-$2-$3 $4:$5:$6')

yuantian 发表于 2019-8-19 23:28:05

afan 发表于 2019-8-19 23:19
本来就告诉你已经是很精简了~这样只是减少字数而已

收到,那我就这么用了。
感谢A大的耐心回复。

862228699 发表于 2019-8-19 23:38:39

膜拜正则之王。。。AFAN

tarcy118 发表于 2019-8-21 00:23:43

不错支持一下
页: [1]
查看完整版本: [已解决]请教正则表达式