2009-02-23 78 views
0

嗨,大家好,我还不知道RegExp。我知道这件事,但我没有体验过用户。如何使用RegExp删除大字符串中的一小部分字符串

假设我在网站上运行正则表达式匹配,比赛分别是:

Data: Informations 
Data: Liberty 

然后我想只提取信息和自由,我不想要的数据:第一部分。不知道更多有关潜在匹配

回答

1
  1. Data:是否总是出现在行的开头?
  2. :和下一个单词之间是否可以有多个空格?
  3. 你知道团体吗?
  4. 你想要什么:懒惰匹配vs贪婪匹配?如果你知道它永远是一个字

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

如果是这样,你可以使用(与懒惰匹配):

^Data:\s+(.*?)$ 

随着字符类。试试这个website

+0

嗨,我其实阅读http://www.regular-expressions.info/ 教程谢谢你给我一个精彩的提示和一个美妙的链接。 Raymond – 2009-02-24 06:11:24

1

不能绝对肯定,但是这应该是至少一个很好的起点:

Data: (.*)$ 

这将返回后一切“的数据:”去年底线。

0

搜索一个正则表达式像

Data: (.*) 

然后使用“第一个子匹配”,这往往是由“$ 1”或简称“\ 1”,这取决于你所使用的语言。

0

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

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

因此,阅读您选择的语言的正则表达式命令,并寻找术语“捕获组”或可能只是“组”。