如何使用RegExp删除大字符串中的一小部分字符串

如何使用RegExp删除大字符串中的一小部分字符串,regex,Regex,嘿,伙计们,我还不知道RegExp。我知道一个lil关于它,但我不是经验用户 假设我在网站上运行一个RegExp匹配,匹配项是: Data: Informations Data: Liberty 然后我只想提取信息和自由,我不想要数据:部分。如果不了解更多关于潜在匹配的信息,就不能绝对确定,但这至少应该是一个很好的起点: Data: (.*)$ 这将返回“Data:”之后的所有内容到行尾。搜索一个正则表达式,如 Data: (.*) 然后使用“第一个子匹配”,这通常由“$1”或“\1”表示

嘿,伙计们,我还不知道RegExp。我知道一个lil关于它,但我不是经验用户

假设我在网站上运行一个RegExp匹配,匹配项是:

Data: Informations
Data: Liberty

然后我只想提取信息和自由,我不想要数据:部分。

如果不了解更多关于潜在匹配的信息,就不能绝对确定,但这至少应该是一个很好的起点:

Data: (.*)$

这将返回“Data:”之后的所有内容到行尾。

搜索一个正则表达式,如

Data: (.*)
然后使用“第一个子匹配”,这通常由“$1”或“\1”表示,具体取决于您使用的语言

  • 数据:
    是否总是出现在行首
  • 和下一个单词之间可以有多个空格吗
  • 你知道团体吗
  • 你想要什么:懒惰匹配还是贪婪匹配 如果是,您可以使用(与惰性匹配一起):

    使用字符类:

    ^Data:\s+(\w+)$
    

    如果你知道它永远是一个词。试试这个。

    正则表达式引擎支持通常所说的“捕获组”。如果将一个模式或模式的一部分用()包围,则将捕获与正则表达式的该部分匹配的字符串部分

    用于进行匹配的命令将决定如何获取这些捕获的值。它们可以存储在特殊变量(例如:$1、$2)中,或者您可以指定嵌入正则表达式中的变量名称,或者将其作为正则表达式命令的参数。具体操作方式取决于您使用的语言


    因此,请仔细阅读所选语言的regexp命令,并查找术语“捕获组”或可能只是“组”

    您好,我正在阅读教程,感谢您给我一个精彩的提示和一个精彩的链接。RaymondBTW,哪一个更好?懒惰还是贪婪?我知道,通过惰性匹配,我可以更好地控制我的搜索。贪婪匹配往往会失控,这取决于上下文。在某些情况下,延迟匹配可以提供更好的性能。请参阅:(注释没有更好的链接表示形式——非常抱歉!)@dirk,第二个正则表达式中的
    \w
    正好匹配一个单词字符;要匹配整个单词,您需要
    \w+
    。该区域和附近有两个打字错误。非常感谢,艾伦。
    ^Data:\s+(\w+)$