首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复杂的正则表达式-这是可能的吗?

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

Stack Overflow用户
提问于 2011-10-28 20:27:41
回答 5查看 87关注 0票数 0

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

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

代码语言:javascript
复制
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

主线示例:

代码语言:javascript
复制
Solaris10NBngp-bwm_mainline // want mainline
LinuxNBdaypass_mainline     // want mainline
LinuxNBngp_mainline         // want mainline

是否可以使用正则表达式,如果可以,是否有人知道如何执行此操作?:-)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-10-28 20:34:56

代码语言:javascript
复制
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

对于上述输入,

代码语言:javascript
复制
expectedString = yourString.replaceAll("[^.]+(\\d+\\.)","$1");
票数 2
EN

Stack Overflow用户

发布于 2011-10-28 20:30:59

如果字符串始终以Solaris10NB开头,请尝试以下表达式:Solaris10NB[\w\-]+(\d.*)

然后使用Matcher#group(1)提取第一个组。

票数 0
EN

Stack Overflow用户

发布于 2011-10-28 20:31:57

尝试此正则表达式

代码语言:javascript
复制
([0-9.]+x) +.*$

注意:假设注释是字符串的一部分

否则

代码语言:javascript
复制
[0-9.]+x)$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7929236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档