当前位置: 首页 > 面试题库 >

使用Golang正则表达式查找字符串中的数字

子车芷阳
2023-03-14
问题内容

我想用以下代码查找字符串中的所有数字:

re:=regexp.MustCompile("[0-9]+")
fmt.Println(re.FindAllString("abc123def", 0))

我还尝试将定界符添加到正则表达式,使用正数作为的第二个参数FindAllString,使用仅数字字符串,例如“ 123”作为第一个参数…

但是输出总是 []

我似乎想念一下正则表达式在Go中的工作原理,但是无法绕开它。这[0-9]+不是有效的表达方式吗?


问题答案:

问题出在你的第二个整数参数上。引用以下软件包的文档regex

这些例程使用一个额外的整数参数n;如果n> = 0,则该函数最多返回n个匹配项/子匹配项。

您通过了,0因此最多将返回0个匹配;那就是: 没有 (不是真的有用)。

尝试通过-1以表明您想要全部。

例:

re := regexp.MustCompile("[0-9]+")
fmt.Println(re.FindAllString("abc123def987asdf", -1))

输出:

[123 987]

在Go Playground上尝试一下。



 类似资料:
  • 问题内容: 我试图返回一个数组或切片,针对字符串针对特定正则表达式的所有匹配项。字符串是: 我想返回一个花括号之间所有字符串都匹配的数组。我尝试使用regexp软件包来完成此操作,但无法弄清楚如何返回我要查找的内容。这是我当前的代码: 但是,无论我尝试什么,每次返回的结果都是一片空白。 问题答案: 首先,您不需要正则表达式定界符。其次,使用原始字符串文字定义一个正则表达式模式是个好主意,您只需要使

  • 本文向大家介绍PowerShell使用正则表达式查找字符串实例,包括了PowerShell使用正则表达式查找字符串实例的使用技巧和注意事项,需要的朋友参考一下 本文介绍在PowerShell中使用-match运算符加正则表达式,进行字符串的搜索。 match运算符,后面加上正则表达式,可以对字符串进行正则匹配查找。正则表达式功能强大,用于查找字符串时方便快捷。所以match运算符是我们经常要用到的

  • 问题内容: 如果我有这样的字符串: 我需要一种从字符串中获取“ BAR”字符串的通用方法,以便无论方括号之间是什么字符串,都可以获取该字符串。 例如 问题答案: 你应该能够使用非贪婪的量词,特别是*?。你可能需要以下条件: 这将为你提供一个与你的字符串匹配的模式,并将文本放在第一组的方括号内。请查看Pattern API文档以获取更多信息。 要提取字符串,可以使用如下所示的内容:

  • 我需要一个字符串来获取键->值对的数组(2-dim)。 一个“匹配”是当两个单词之间有一个->时,->前后有mo空格 例如输入字符串: skip_me key1->value1 key2->value2 skip_me2 key3->value3 skip_me3 skip_me->还 结果应为数组: key1,value1 key2,value2 key3,value3 这是我的代码: 我的正则

  • 我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?

  • 本文向大家介绍java使用正则表达式查找包含的字符串示例,包括了java使用正则表达式查找包含的字符串示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java使用正则表达式查找包含的字符串。分享给大家供大家参考,具体如下: Hello.java: eclipse运行效果图如下: PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工