java - 复杂的正则表达式 - 这可能吗?

标签 java regex

对于以下字符串,如果字符串包含主线,我尝试提取“主线”,如果不包含主线,则尝试提取末尾的数字。我正在使用 Java。

例如,对于以下字符串,我只想要末尾的数字

Solaris10NBngp-bwm1.1.X     // want 1.1.x
Solaris10NBbytel2.0.0.0x    // want 2.0.0.0x
Solaris10NBbwm1.2.X         // want 1.2.X
Solaris10NBoam_bwm1.4.0.X   // want 1.4.0X
Solaris10NBoam1.7.X         // want 1.7.X

主线示例:

Solaris10NBngp-bwm_mainline // want mainline
LinuxNBdaypass_mainline     // want mainline
LinuxNBngp_mainline         // want mainline

使用正则表达式可以实现这一点吗?如果可以,有人知道该怎么做吗? :-)

最佳答案

Solaris10NBngp-bwm1.1.X     // want 1.1.x 
Solaris10NBbytel2.0.0.0x    // want 2.0.0.0x 
Solaris10NBbwm1.2.X         // want 1.2.X 
Solaris10NBoam_bwm1.4.0.X   // want 1.4.0X 
Solaris10NBoam1.7.X         // want 1.7.X

对于上述输入,

expectedString = yourString.replaceAll("[^.]+(\\d+\\.)","$1");

关于java - 复杂的正则表达式 - 这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7929236/

相关文章:

java - 如何在 Ubuntu 上安装 Eclipse 和 Java SDK?

java - JVM 如何管理 Java 接口(interface)?

Javascript替换换行符

javascript - 如何在提交前验证表单输入

删除第二个冒号后的文本

python - 使用正则表达式从文件中获取测试详细信息

R : get string between braces { }

java - 返回给定整数的位数的递归方法

java - 在泛型类中实现 compareTo() 方法

Java PreparedStatement 无法识别子查询中的占位符