Regulärer Ausdruck
-
Hallo, wie sieht ein regulärer Ausdruck aus, mit dem ich einen Bereich in einem Textdokument eingrenzen will? Also nehmen wir mal an ich habe eine Dokument und will vom Wort "Hallo" bis zum Wort "Keks" alles verarbeiten.
D.h. ich brauche einen RA der diesen BEreich eingrenzt.
Kann da jmd ein konkretes Beispiel zeigen??
Thx
-
Das hängt vermutlich damit zusammen, welche RA-Syntax du verwendest (da gibt es afaik keinen Standard, der von allen Anbietern verwendet wird). brauchbar könnte der Ausdruck
"Hallo.*Keks"sein (. steht für "beliebiges Zeichen" und * für "beliebig viele Wiederholungen des vorigen Wertes").
-
ich probiers mal aus, danke
-
honolulu schrieb:
ich probiers mal aus, danke
sollte es nicht funktionieren, bitte sag uns, mit welcher Programmierpsrache/welcher Library du ueberhaupt arbeitest

-
habs so probiert, klappt aber nicht....
%option noyywrap
%option outfile="test.c"%{#include<stdio.h>
#include<string.h>
#include<stdlib.h>
%}%%
"hallo.*keks" printf("Hat geklappt");
%%int main()
{
yylex();
return(0);
}die dadurch dann neu erstellte datei ist unverändert
-
hi
mal eben gelext..
text.l
%{ #include <stdio.h> %} %% "hallo"[A-Za-z0-9 \n]+"keks" {printf("\nXXX\n"); } %% int main(){ while (yylex()) ; return 0; }Makefile:
#text.l #lex.yy.c #a.exe all: a.exe ./a.exe<test.txt a.exe: lex.yy.c gcc lex.yy.c -lFl lex.yy.c: text.l flex text.ltest.txt
$ make flex text.l gcc lex.yy.c -lFl ./a.exe<test.txt wat anderes XXX //edit zum verständnis: da stand dann "hallo du keks" hallokeks //hallokeks wird nicht angenommen wat anderesachte auf leerzeichen, zeilenumbrüche, und sonstige sachen, habe NICHT alles dabei. ist sicher ein wenig umständlich.
"hallokeks" sollte bei mir nicht gefunden werden, "hallo du keks" schon.gruß
-
VIELEN VIELEN DANK!!!
-
zitat:"hallokeks" sollte bei mir nicht gefunden werden, "hallo du keks" schon.
hab das jetz ma ausprobiert und genau das was nicht passieren soll passiert, also hallokeks wird gefunden und hallo du keks nicht....
ist also genau verkehrt rum. wie muss es dann richtig lauten?
-
keine ahnung, was du da machst.
aber lies einfach mal ein geeignetes skript, hier zum bleistift
https://rnvs.informatik.tu-chemnitz.de/twiki/bin/view/Softwarewerkzeugeproseminar/Lex
und setz es um.
-
so ich habs, der code war einfach nur falsch!!!
man muss nämlich den nehmen:
"hallo"(.*?)"keks"damit funktionierts.
trotzdem thx
-
ok, der punkt sind alle zeichen, bei mir fehlten die sonderzeichen und satzzeichen.
sollte nur ein ansatz sein. wenns jetzt geht, is ja gut.so long
ps: und was ist mit newline?
