我有一个文本文件,其中包含我旧通讯录中的大量电子邮件地址。我需要从中获取这些。每个电子邮件地址都以
开头ip:
以
结束\
例如
blablablaip:me@you.com\
地址长度最多为25个字符(不确定是否会对所需的正则表达式产生影响)并且有时在地址中间有换行符,即电子邮件地址在一行的结束和新行的开始。
你们中的任何一个正则表达式巫师都会给我任何帮助吗?
提前致谢
答案 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部分并将其放入电子邮件组。