我需要创建一个单一的线性正则表达式来对来自应用程序的作业名称执行替换。
例如:
Job names Substituted name
--------- -----------
PART:CP21_aserdh.2317_1 CP21
PART:XY4_gsods.2218_1 XY4
JOB:ES2 ES2
JOB:AP50 AP50
我尝试了一些没有成功的正则表达式
(?:(PART:(.*)_.*_)|(JOB:(.*)))
(PART:(.*)|JOB:(.*)_+)
(?:PART|JOB)[:](.*)[_]?
答案 0 :(得分:2)
对于您提供的简单示例,这将起作用:
str.replaceAll(".*:([^_]+).*", "$1")
答案 1 :(得分:1)