Java 替换 - 多项选择

标签 java regex

我需要创建一个单行正则表达式来对来自应用程序的作业名称执行替换。

例如:

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/

相关文章:

c# - 正则表达式与预期不匹配

javascript - 如何只允许用户在文本框中输入 [1-9]-[某些字符]?

java - 如何将参数传递给 Hibernate 的 subselect 标签?

javascript - jQuery 识别 URL 并追加参数

python - 提取方括号之间的值,忽略单引号

c++ - 解析数据的正则表达式

java - spring security - 在 UserDetailsS​​ervice 实现中访问请求参数

java - Android奇怪的ComponentInfo NullPointerException

java - SQL 语句不适用于 Oracle JDBC

java - 在Java中寻找多项式的根