Reg ex/ips

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

s_m_w

Betreff: Reg ex/ips

BeitragDi, Feb 14, 2006 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe einen schicken code für einen irc client gefunden, der aber nicht thema ist. Eher möchte ich gesagte ips aus dem text herausfitlern und in anklickbare links umwandeln, nur habe ich keine ahnung wie das gehen soll :/

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Feb 14, 2006 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:readline
ql:instr
ql:mid

Sollten da weiter helfen. Du musst den Text dann durchsuchen und nach HTTP;//123.123.123.123 suchen, oder wenn kein HTTP vorhanden eine eigene 'inteligente' Suchroutine schreiben...

s_m_w

BeitragDi, Feb 14, 2006 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, internetadressen mit http:// und www. habe ich ja schon, aber ich brauche reine ips also 123.123.123.123 ohne http:// davor, ich habe zwar einen regexp dafür, aber in bb gehen die ja nicht, scheinbar
 

Schnuff

BeitragDi, Feb 14, 2006 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
dann suchst du halt die Punkte zwischen den IP angaben!
Programmers dont die. They gosub without return...

s_m_w

BeitragDi, Feb 14, 2006 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
also *.*.*.*? dann werden abre auch mehrere sätze anklickbar wenn sie mit punkten geretnnt werden. Geht in bb vllt der platzhalter "?"?

Hip Teen

BeitragDi, Feb 14, 2006 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest 3 Punkte Suchen, bei denen der Abstand dazwischen höchstens 3 Zeichen, aber mindestens eins ist und dann prüfen, ob alles nur Zahlen sind. Dann ist es recht unwarscheinlich, dass das keine IP ist Laughing
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

s_m_w

BeitragDi, Feb 14, 2006 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
und da bin ich wieder bei regex, oder wie geht das sonst?

D2006

Administrator

BeitragDi, Feb 14, 2006 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
BB hat keine RegEx Engine, also musst du dir dies selbst programmieren.
Die Tipps dafür wurden hier schon gegeben.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

s_m_w

BeitragDi, Feb 14, 2006 23:14
Antworten mit Zitat
Benutzer-Profile anzeigen
soweit bin ich schonmal:
Code: [AUSKLAPPEN]
Teststring$ = "hallo ich Bin 122.12.123.113"
Print IpTest(Teststring)

Function IpTest(teststring$)
If Instr(teststring$,".") = 0 Then Return 0
anfang = Instr (teststring$,".")
If Chartest(Mid(teststring$,anfang-1,1))=0 Then Return 0
If Chartest(Mid(teststring$,anfang+1,1))=0 Then Return 0
Print Instr(teststring$,".",anfang+1)
Print Instr (teststring$,".")
If Instr(teststring$,".",anfang+1) > Instr (teststring$,".") + 4 Then Return 0
anfang2 = Instr(teststring$,".",anfang+1)
If Instr(teststring$,".",anfang2+1) > Instr (teststring$,".",anfang+1) + 4 Then Return 0
Return 1
End Function

Function Chartest(test$)
  If test$ = "1" Then Return 1
  If test$ = "2" Then Return 1
  If test$ = "3" Then Return 1
  If test$ = "4" Then Return 1
  If test$ = "5" Then Return 1
  If test$ = "6" Then Return 1
  If test$ = "7" Then Return 1
  If test$ = "8" Then Return 1
  If test$ = "9" Then Return 1
  If test$ = "0" Then Return 1
  Return 0
End Function


Es wird ausgegeben, ob vor und nach dem ersten punkt eine zahl steht, schonmal ein anfang nur weiß ich nicht wie ich die ip dann herausfinden soll Sad

[edit] abstände in der mitte werden überprüft

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Feb 15, 2006 1:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal eine andere Möglichkeit gemacht, sollte einfacher sein!
Code: [AUSKLAPPEN]
Function IpTest(teststring$)
   For i = 1 To Len (teststring$)

      Letter$=Mid (teststring$,i,1)

      If Instr("0123456789.",Letter$) Then
         IP$=IP$+letter$
         If Left(IP,1) = "." Then iP=""; falls vorn ein Punkt ist löschen
      Else
         If Len(IP$)< 10 Then ip=""; Überprüfen
      End If

   Next
   Return IP
End Function

Muß aber grantiert erweitert werden
[BB2D | BB3D | BB+]

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group