Ich hab (mal wieder) ein Problem mit RegExp:
Spoiler anzeigen
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Media;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
namespace DME
{
class Program
{
[DllImport("winmm.dll")]
public static extern void PlaySound(string path, int mod, int flg);
static void Main(string[] args)
{
WebClient siteurl = new WebClient();
string source = siteurl.DownloadString("http://online-hiorg.square7.de");
string oldsource = source;
string @scriptdir = System.Threading.Thread.GetDomain().BaseDirectory;
Console.WriteLine(@scriptdir);
Console.WriteLine(@scriptdir + "alert.wav");
while (true)
{
//Load Source.
source = siteurl.DownloadString("http://online-hiorg.square7.de");
if (source != oldsource)
{
Console.WriteLine("Alarm!");
PlaySound(@scriptdir + "alert.wav", 0, 0x0000);
// Define a regular expression for repeated words.
Regex rx = new Regex(@"(?s)<td>.+?</td>.+?<td>(.*?)</td>",
RegexOptions.Compiled | RegexOptions.IgnoreCase);
// Define a test string.
string text = source;
// Find matches.
MatchCollection matches = rx.Matches(text);
// Report the number of matches found.
Console.WriteLine("{0} matches found in:\n {1}",
matches.Count,
text);
// Report on each match.
foreach (Match match in matches)
{
GroupCollection groups = match.Groups;
Console.WriteLine("'{0}' repeated at positions {1} and {2}",
groups["word"].Value,
groups[0].Index,
groups[1].Index);
}
oldsource = source;
}
}
}
}
}
Alles anzeigen
Das Regexp spuckt aber immer nur "" aus...
Mit AutoIt klappts wunderbar
Spoiler anzeigen
[autoit]
$new = _INetGetSource('http://www.online-hiorg.square7.de/index.php')
$param = _INetGetSource('http://www.online-hiorg.square7.de/param.html')
$array = StringRegExp($new, '(?s)<td>.+?</td>.+?<td>(.*?)</td>', 3)
_ArrayDisplay($array)
Kann mir vll jmd sagen was ich Falsch mache?