我很难使用正则表达式。我已经用 regex101.com 做了很多测试,但无法解决这个问题。
我有这个字符串:setVersion('2.0.2.4999');
我希望能够替换版本号,版本号总是由4个数字组成,用点分隔,但每个数字可能超过1位。
我更喜欢在(最好)1行中解决这个问题,因为我需要在吞咽任务中插入这个问题。
我试过这个:
/setVersion\('([0-9].[0-9].[0-9].[0-9])/
但它只有在每个数字只有1位的情况下才有效,这不是我的情况。
我如何让它工作,以便它搜索多次的数字?
匿名用户
使用“ ”量词,它将在1和无限数字之间匹配。此外,您还必须转义“.”,否则它将匹配任何字符。
试试这个:
< code>setVersion\('([0-9] \。[0-9] \.[0-9] \.[0-9] )
正则表达式演示
这应该行得通
\d+\.\d+\.\d+\.\d+
您可以用[0-9]
替换。点(
.
)表示正则表达式中的任何字符,因此它们被转义。
更准确的答案将是
\d+(?:\.\d+){3}
正则表达式细分
\d+ #Match one or more digits
(?: #Non-capturing group
\. #Match . literally
\d+ #Match one or more digits
)
{3} #Repeat whatever was previously in () three times
最终的正则表达式如下所示
setVersion\('(\d+(?:\.\d+){3})'\)
或者
setVersion\('(\d+\.\d+\.\d+\.\d+)'\)
要匹配前面的一个或多个字符,您可以使用量词。请注意,RegEx缺少需要转义的end
'
和)
。
/setVersion\('([0-9]+(?:\.[0-9]+){3})'\)/
现场演示
我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?
我有一根下面这样的弦 现在我希望我的程序验证我的输入是否与字符串“phone”的模式相同 我做了以下工作 没奏效。我也尝试了其他的组合。什么都不起作用。 问题:1。我怎样才能做到这一点,而不使用‘模式’像上面?2.如何用图案做到这一点。我尝试了如下模式 Pattern Pattern=Pattern.compile(“(\d+)”);Matcher match=pattern.Matcher(电话
相比较于第一章变量的声明,这一章的内容有了一点深度提升,但还不至于很难理解。本章主要讲2个知识点,字符串、正则表达式 字符串 字符串(String)是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol(es6新增)。 字符串类型在前端开发者,是使用最频繁的类型之一,网站上可见的各种文案,几乎都是字符串类型的数据。我们经常需要
字符串可以说是程序设计中最为重要的数据类型之一。几乎每种高级编程语言都有它的一席之地,而且能有效的使用它也是开发者编写实用程序的基本准则。作为重要的扩展,正则表达式赋予开发者操作字符串的额外能力。ECMAScript 6 的缔造者们将这些事实牢记于心,改进了字符串和正则表达式,并添加了长久以来缺失的某些功能。本章会讲解它们的变化之处。 译者注: gitbook 无法正常解析 $$ 字符,所以在模板
我不熟悉Javascript和正则表达式,所以我一直在研究如何使路由匹配所有以
我想为C中的一些字符串创建一个正则表达式。 这就是我目前的情况: C中的字符串由双引号(")分隔,因此正则表达式必须由 \" \". 字符串可能不包含换行符,因此我需要执行[^\n](我想)。 字符串还可能包含双引号或反斜杠字符,如果且仅当它们被转义时。因此[\\\”](我想也是这样)。 除此之外,什么都可以。 任何帮助是非常感谢我有点迷失了如何开始写这个正则表达式。