我有一组看起来像这样的字符串:
"AK Pz 310u PI-13-5","23.02.2015","07:45:00","23.02.2015","09:20:00","False","True","23.02.2015","07:40:00","2","Common","AK Pz 310u PI-13-5","Common"
使用单一正则表达式和replaceAll
方法,我需要完全以下字符串:
2015-02-23 ==> 07:45 AK Pz 310u
我有一个匹配时间和日期的正则表达式
((0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[012])\.\d\d\d\d)|((([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9]))
我想我应该以某种方式利用捕获组。
字符串的这一部分:" AK Pz 310u PI-13-5"
总是以大写字母开头,并以1到6之间的数字结束,所以我认为匹配那个字母非常简单。
但是,如何用正则表达式匹配所需的外观?如何将==>
符号插入string.replaceAll
方法?
有什么想法吗?
这是regex101.com链接https://regex101.com/r/vT7eK2/3
答案 0 :(得分:0)
对于php我世界推荐这个正则表达式:
#^"(\w+) (\w+) (\w+) (?:.+?)","(\d+)\.(\d+)\.(\d+)","(\d+):(\d+):(\d+)"(?:.*?)$#i
和替换模式:
$6-$5-$4 ==> $7:$8 $1 $2 $3
我刚在这个网站https://ru.functions-online.com/preg_replace.html
上测试了它我认为将这个php_replace regexp翻译成java regexp并不困难