对于以下字符串,如果字符串包含主线,我尝试提取“主线”,如果不包含主线,则尝试提取末尾的数字。我正在使用 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/