如何使用RegExp删除大字符串中的一小部分字符串
嘿,伙计们,我还不知道RegExp。我知道一个lil关于它,但我不是经验用户 假设我在网站上运行一个RegExp匹配,匹配项是:如何使用RegExp删除大字符串中的一小部分字符串,regex,Regex,嘿,伙计们,我还不知道RegExp。我知道一个lil关于它,但我不是经验用户 假设我在网站上运行一个RegExp匹配,匹配项是: Data: Informations Data: Liberty 然后我只想提取信息和自由,我不想要数据:部分。如果不了解更多关于潜在匹配的信息,就不能绝对确定,但这至少应该是一个很好的起点: Data: (.*)$ 这将返回“Data:”之后的所有内容到行尾。搜索一个正则表达式,如 Data: (.*) 然后使用“第一个子匹配”,这通常由“$1”或“\1”表示
Data: Informations
Data: Liberty
然后我只想提取信息和自由,我不想要数据:部分。如果不了解更多关于潜在匹配的信息,就不能绝对确定,但这至少应该是一个很好的起点:
Data: (.*)$
这将返回“Data:”之后的所有内容到行尾。搜索一个正则表达式,如
Data: (.*)
然后使用“第一个子匹配”,这通常由“$1”或“\1”表示,具体取决于您使用的语言
数据:
是否总是出现在行首:
和下一个单词之间可以有多个空格吗^Data:\s+(\w+)$
如果你知道它永远是一个词。试试这个。正则表达式引擎支持通常所说的“捕获组”。如果将一个模式或模式的一部分用()包围,则将捕获与正则表达式的该部分匹配的字符串部分 用于进行匹配的命令将决定如何获取这些捕获的值。它们可以存储在特殊变量(例如:$1、$2)中,或者您可以指定嵌入正则表达式中的变量名称,或者将其作为正则表达式命令的参数。具体操作方式取决于您使用的语言
因此,请仔细阅读所选语言的regexp命令,并查找术语“捕获组”或可能只是“组” 您好,我正在阅读教程,感谢您给我一个精彩的提示和一个精彩的链接。RaymondBTW,哪一个更好?懒惰还是贪婪?我知道,通过惰性匹配,我可以更好地控制我的搜索。贪婪匹配往往会失控,这取决于上下文。在某些情况下,延迟匹配可以提供更好的性能。请参阅:(注释没有更好的链接表示形式——非常抱歉!)@dirk,第二个正则表达式中的
\w
正好匹配一个单词字符;要匹配整个单词,您需要\w+
。该区域和附近有两个打字错误。非常感谢,艾伦。
^Data:\s+(\w+)$