当前位置: 首页 > 知识库问答 >
问题:

正则表达式在使用RE2的空格之前的字符串之后匹配

郭志
2023-03-14

我不熟悉RE2语法正则表达式,我想匹配特定字符串后面的第一个单词。

例如:

java.lang.OutOfMemoryError:java堆空间错误发送定期事件java.lang.NullPointerException:java堆空间错误发送定期事件

我想捕获java.lang.之后的任何内容,以便我可以获取OutOfMemoryErrorNullPointerException错误。我知道在Python和PCRE中,我们可以使用正后置查找和正则表达式来执行此操作-(?


共有1个答案

丌官嘉良
2023-03-14

您可以使用

java\.lang\.([^\s:]+)

细节

  • java\. lang\.-一个java.lang.子字符串
  • ([^\s:])-捕获组1:空格和以外的一个或多个字符:

注意:如果您需要获取java.lang.之间的所有文本后跟空格,请使用java\. lang\.(. *?):\s

请参阅正则表达式演示和Go演示:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    regex := regexp.MustCompile(`java\.lang\.([^\s:]+)`)
    result := regex.FindStringSubmatch("java.lang.OutOfMemoryError: Java heap space Error sending periodic event")
    fmt.Printf("%q", result[1])
}
 类似资料:
  • 本文向大家介绍去掉字符串前后所有空格的正则表达式,包括了去掉字符串前后所有空格的正则表达式的使用技巧和注意事项,需要的朋友参考一下 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索

  • 我试图用正则表达式匹配替换给定的字符。例如,给定以下字符串: 如果你看看你生活中拥有的,你总是会拥有更多。如果你看看你生活中没有的,你永远不会有足够的 我想用“!”替换所有的“t”,只有在字符“ok”和“fe”之间匹配的情况下。 我用这个正则表达式得到“ok”和“fe”之间的匹配: 并且我只能将一个字符与以下正则表达式匹配: 我试图用以下方式转换正则表达式,但它不起作用: 我怎样才能在ok和fe之

  • 问题内容: 我有以下字符串: 如您所见,该字符串由#分隔。我的用例类似于一个简单的SPLIT(string,“#”)操作,但是regex给了我更多的灵活性。 我想匹配两次出现的#之间的字符。例如,第二次和第三次出现之间的字符应匹配:“ US” 我使用的是Google Bigquery,能够匹配字符串的前两个术语,但与第三个术语比较费劲: 位置是字符串,例如上面的字符串。 我已经找到了这个问题,但是

  • 问题内容: 我正在寻找Java中与字符串中所有空白字符匹配的正则表达式。“ \ s”仅匹配一些,不匹配和类似的非ASCII空格。我正在寻找与Java字符串中可能出现的所有(常见)空白字符匹配的正则表达式。 [编辑] 需要说明的是:我不是指字符串序列“ ”我是指通常用“ ” 表示的单个Unicode字符U + 00A0 ,例如在HTML中,以及所有其他具有类似空格的unicode字符,例如“ NAR

  • 本文向大家介绍JS正则表达式获取指定字符之后指定字符之前的字符串(推荐),包括了JS正则表达式获取指定字符之后指定字符之前的字符串(推荐)的使用技巧和注意事项,需要的朋友参考一下 一个常见的场景,获取:标签背景图片链接: 如字符串:var bgImg = "url (\"https://img30.360buyimg.com/sku/jfs/t26203/262/100869187/204098/