c#正则表达式字符串,谁知道怎么做?

时间:2010-10-03 20:46:26

标签: c# regex

我有一个文本文件,其中包含我旧通讯录中的大量电子邮件地址。我需要从中获取这些。每个电子邮件地址都以

开头
ip:

结束
\

例如

blablablaip:me@you.com\

地址长度最多为25个字符(不确定是否会对所需的正则表达式产生影响)并且有时在地址中间有换行符,即电子邮件地址在一行的结束和新行的开始。

你们中的任何一个正则表达式巫师都会给我任何帮助吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

你可以试试这个正则表达式:

/ip:(.{0,25}?)\/

它的工作原理如下:

/         <- The delimiter of your regex
    ip:       <- Matches the "ip:" part
    (             <- Open a capture group
        .         <- Matches any character 
        {0,25}    <- Last part repeated between 0 and 25 times
        ?         <- Ungreedy modifier, to capture less elements possible (in the 0, 25 limit)
    )         <- End of the capture group
    \         <- The "\" part
/         <- End of the regex

在C#中,你的正则表达式中不需要分隔符,所以你可以使用它:

@"ip:(.{0,25}?)\\" //Don't forget to escape the \ 

资源:

答案 1 :(得分:0)

正在寻找的正则表达式

ip:(.*?)\\

答案 2 :(得分:0)

您可能想要删除换行符,只是为了简单起见。

之后:

String regex = @"ip:(?'email'(.*)@(.*\.*))\\";

没有长度限制或字符限制,但它会匹配电子邮件的xxx@xx.x部分并将其放入电子邮件组。