我正在比较以字符串形式交付的版本编号。
我需要检测某个版本是否为beta版本,我想检查该版本的最后一部分是否包含beta、build或b,我正在尝试使用regex执行此操作。
到目前为止,它可以工作,但一旦版本部分有一个空间,它就不行了。
也许有人有更好的主意?
迄今为止我的正则表达式:
(\d+)(beta|build|b(\d*))?
字符串示例:
v1。23 Beta125--
v1。25.458 beta 129--
示例代码:
private Boolean getBeta(String str) {
boolean version = false;
Pattern p = Pattern.compile("(\\d+)(beta|build|b(\\d*))?");
Matcher m = p.matcher(str);
if (!m.find()) {
return version;
} else
version = true;
return version;
}
我的意思是,你只需要找出版本字符串中是否有a、beta或build,对吗<代码>包含可以执行此操作。您不需要正则表达式:)
你也可以用这个正则表达式
build|beta|b
检查search
是否返回true。
您可能还希望启用不区分大小写选项。
您还可以使用以下限制性更强的正则表达式:
v?\s*(\d+(\.\d*)*)+\s*(beta|build|b)\s*(\d+)
在regex101上测试:https://regex101.com/r/oLoVN3/2
您需要在每个反斜杠\
之前添加一个反斜杠\
,以便在您的代码中使用它。
我想使用正则表达式屏蔽字符串的子字符串。 字符串输入=
我想使用正则表达式屏蔽字符串的子字符串。 字符串输入=
问题内容: 我想搭配以下 com.my.company。 moduleA .MyClassName com.my.company。 moduleB .MyClassName com.my.company。 anythingElse .MyClassName 但 不是 以下 com.my.company。 核心 .MyClassName 我当前的简单正则表达式模式是: 因此,基本上,我该如何匹配其他
关于正则表达式有很多类似的问题,但我仍然对以下情况感到困惑:
我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?
我在创建一个正则表达式以接受任何字符串和ENTER键时遇到了一个问题,目前我有以下问题: 我环顾四周,人们说要添加< code>\n,但这不起作用。 字符串是应该允许的一个例子如下: