C#-ban szeretném, h a megadott webcím után beolvassa az oldal kódját textboxba, majd a mailcímeket külön textboxba gyűjtse. A beolvasásig sikerült. Reg. Kif. El megszabtam a mail-t is, de h adjam meg neki a másik boxba való csak mailcím másolást?
private void bevitelgomb_Click(object sender, EventArgs e)
{
string regkif = @"^\w+(\.\w+).(\w+\.)\w{2,6}$";
string regkif2 = @"^\w+(\.\w+)*@(\w+\.)*\w+\.\w{2,6}$";
if (Regex.IsMatch(textBox2.Text, regkif))
{
HttpWebResponse wmr;
HttpWebRequest wb = (HttpWebRequest)HttpWebRequest.Create(" [link]
wmr = (HttpWebResponse)wb.GetResponse();
Stream adatok = wmr.GetResponseStream();
StreamReader sr = new StreamReader(adatok);
string sor;
while ((sor = sr.ReadLine()) != null)
{
textBox1.Text += sor;
textBox1.Text += "\r\n";
Application.DoEvents();
}
}
A regex se tud okosabbat annál, hogy @-ot keressen, mivel a világon semmi egyéb ismertető jele nincs egy rohadt email címnek. Tök mindegy, hogy bonyolítod, mert nincs más viszonyítási alap. Még esetleg a végén a domaint meg a kiterjesztést lehet nézni, de azt már elég azon a pár darabon, amiben @-ot találtál.
(55%-os meg ne magyarázzon, mert még értelmes hozzászólása ezen az oldalon nem volt soha. Nem is csoda, még szöveget tagolni se tud.)
a regex annyira okos, amit megadsz neki, legfeljebb nem érted. vannak karakterek, amik nem lehetnek benne, tehát annyira ki tudod parsolni amennyire a spaceket nézve tudnád (és egyébként regexxel is lehet spaceket nézni)
tessék, kis barátom:
A gyorsaság ott elveszett, hogy textboxba ír és onnan olvas puffer helyett.
Egyébként felesleges sztingekre vagdalni szóközök szerint. Meg kell keresni a @-okat, és csak onnantól elindulni előre és hátra és keresni a legközelebbi szóközt. Mintha sima C-ben csinálnád.
Ha azt nézed, hogy egy átlag weboldalon 0 (azaz nulla) email cím van, sok weboldal feldolgozásánál is csak alig pár darab ilyet kell csinálni. Ezzel szemben a regex ész nélkül végig fogja nyálazni az összeset ide-oda ugrálva benne. Több ezer weblapnál már jóval lassabb lesz, mire azt az 5-6 darab címet kigyűjtöd belőlük.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!