我需要创建一个单行正则表达式来对来自应用程序的作业名称执行替换。
例如:
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)[:](.*)[_]?
最佳答案
对于您给出的简单示例,这将起作用:
str.replaceAll(".*:([^_]+).*", "$1")
关于Java 替换 - 多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33431653/