`Register` 
Suchen mit "regulären Ausdrücken"  (ab V27) 

srx suchbegriff       acon
Suche in dem Text, der momentan in der iV steht, nach dem  suchbegriff   (diesen nicht in "..." einschließen!) 
z.B.:   x var kn\srx xyz\if yes mes Die Zeichenfolge xyz kommt im Satz vor!  

Wenn suchbegriff  fehlt, wird der Inhalt der Variablen  #u!!  genommen 

srX     [dahinter nichts angeben]     acon
Dasselbe, aber verwendet den zuletzt benutzten  suchbegriff 
Vorteilhaft in Schleifen, weil etwas schneller.

Der suchbegriff  kann irgendein Regulärer Ausdruck sein. Wie solche Ausdrücke aussehen müssen,  ist in einer `gesonderten Beschreibung` dokumentiert. 
Man muß also jeweils vorher die interne Variable mit dem zu durchsuchenden Inhalt füllen! Das kann z.B. so aussehen: 
   var kn (Inhalt des aktuellen Satzes) oder 
   var #20 " " #22 " " #85 (Inhalt der drei Felder #20, #22 und #85 
   var Fxyz.txt  (Inhalt der Textdatei  xyz.txt)  

Der Text in der iV (nicht der Suchbegriff!) wird für die Suche umcodiert. Normalerweise nimmt das Programm dazu die p- oder q-Tabelle der Indexparameter, und zwar diejenigen, die A in a umwandeln. (Bei cat.api ist das die q-Tabelle, beim Neutralformat die p-Tabelle.) 
Mit dem Befehl  `set x`.. kann man aber eine andere Tabelle setzen, z.B. die q-Tabelle der Anzeigeparameter mit  set xdq .

Ergebnis
Mit  if yes  stellt man fest, daß der Suchbegriff zutrifft, d.h. in der iV vorkommt. 
Mit  if no   reagiert man darauf, daß er nicht zutrifft. 
Mit  if cancel  stellt man fest, ob es einen Fehler im Suchbegriff gibt. Dann steht in der iV die zugehörige Fehermeldung. 
Meistens empfiehlt sich deshalb folgendes Muster: 

  Zuerst  #u!! mit dem Suchbegriff vorbereiten, dann: 
  nur zum Testen: 
var "abcxyz" 
srx
  Syntaxfehler in #u!!? Dann Meldung ausgeben und Ende 
if cancel mes;end 
  wenn nicht, dann echtes Suchen 
:schleife 
...   Inhalt der iV vorbereiten, 
srX     // Inhalt in iV untersuchen, ob darin Inhalt von #u!! vorkommt
if no jump nohit 
if yes jump hit 

Vollständige Anwendungen  (Siehe auch `Volltextsuche` im Menü "Finden")
Die Anwendung kann man studieren in den folgenden FLEXen. Man kann sie alle mit X ... starten oder über den neuen Menüpunkt "Finden / Volltextsuche". 
`ftr.flx`, mit dem man eine Volltextsuche in der gesamten Datenbank durchführen kann,  `Ausprobieren` 
`grep.flx`, womit man Textdateien durchsuchen kann. Ferner gibt es 
`rsfsr.flxb`zum Durchsuchen der aktuellen Ergebnismenge und 
`algsrch.flxc`zum Durchsuchen von Grunddateien (früher die Aufgabe des DOS-Programms SRCH.EXE). 

Es folgen ein paar Rezepte für häufig auftretende Aufgaben 

Beispiel 1: 
RegEx-Suche im aktuellen Datensatz geht so: 

#u!! suchbegriff
var kn 
srx 
  // Fehler im Suchbegriff? 
if cancel message 
  // Erfolg? 
if yes jump gefunden 

Denn  var kn  bringt den gesamten aktuellen Satz in die iV, und dort muß er stehen, um von  srx  durchsucht zu werden. 
Statt dessen geht auch, wenn der Suchbegriff konstant ist: 

var kn 
srx suchbegriff
if yes ... 

Beispiel 2: 
RegEx-Suche in der aktuellen Ergebnismenge geht so: 

#u!! suchbegriff
perf rsfsr 
if %%FEHLER%% mes;end 
if Z<1 mes Nichts gefunden;end 
sho list
       weitere Verarbeitung der entstandenen neuen Erg.Menge
... 
include rsfsr.inc 

Beispiel 3: 
RegEx-Suche in der Gesamtbank (!) geht so: 

#u!! suchbegriff
perform ftr 
var Z    // Z ist der Trefferzaehler 
if Z<1 jump misserfolg 
var "Die Erg.Menge besteht aus " l " Sätzen" 
mes 
include ftr.inc  

Beispiel 4: 
RegEx-Suche in einer Grunddatei  xyz.alg  geht so: 

#u!! suchbegriff
#u!f xyz.alg 
perform algsrch 
if Z>0 jump treffer 
mes Leider nichts gefunden 
end 
:treffer 
... 
include algsrch.inc

Beispiel 5: 
Einer der häufigsten Vorgänge in klassischen Batchdateien ist das Einlesen von Grunddateien mit SRCH.EXE und Exportieren mit beliebigen Parametern, u.U. verbunden mit dem Selektieren von Sätzen mittels eines Suchbegriffs. Mit FLEX geht das auch! 
Verarbeitung einer Grunddatei  xyz.alg  oder auch einer Externdatei  xyz.adt  mit Selektion per RegEx und Export der zutreffenden Sätze geht so: 

var "-d dateiname -E exportdatei -e exportparameter -s suchbegriff" 
   Aufruf des Unterprogramms :expi, Rückkehr: in iV steht evtl. eine Fehlermeldung 
             in iZ steht Zahl der verarb. Sätze 
perf expi 
if Z<1 mes;end 
    In der Datei exportdatei stehen nun die exportierten Sätze - sonst passiert nichts! 
    (wenn exportdatei mit + beginnt, werden die Sätze angehängt) 
    weitere Befehle...  am Ende dann:
include expi.inc 

Beispiel 6: 
RegEx-Suche in ausgewählten Textdateien geht so: 

X grep suchbegriff  dateinamensmuster

Ausgegeben werden dann die Namen der Dateien, in denen der suchbegriff gefunden wurde, und darunter jeweils die Zeilen mit Nummer, in denen er enthalten ist. 
Wahlweise kann man auch mit der Option  -l  verlangen, daß nur die Dateinamen gezeigt werden: 

X grep -l suchbegriff  dateinamensmuster 
Versuchen Sie als Beispiel: 
X grep -l unicode c:\allegro\help\*.rtf

Der StandardFLEX  `xgrep.flx`  bietet zuerst die Auswahl der Dateitypen.  Will man ausdrücklich die Verlautbarungen durchsuchen, kann man so starten: 
X xgrep vb*

?Register=h xa 
?gesonderten Beschreibung=h ftr 
?ftr.flx=h ftr.flx 
?set x=h xset=set x 
?grep.flx=h grep.flx 
?algsrch.flxc=h algsrch.flx 
?rsfsr.flxb=h rsfsr.flx 
?xgrep.flx=X xgrep 
?Ausprobieren=X ftr 
?Volltextsuche=X fulltext