@chesstiger uihhh das ging aber schnell !
@Andy hast das im engl. Forum also gesehen....
Mit meinem Ansatz war ich voll auf dem Holzweg.....
Danke Leute !
evtl. optimiert das noch jemand und legt es den AutoIt Devs vor....
@chesstiger uihhh das ging aber schnell !
@Andy hast das im engl. Forum also gesehen....
Mit meinem Ansatz war ich voll auf dem Holzweg.....
Danke Leute !
evtl. optimiert das noch jemand und legt es den AutoIt Devs vor....
Hi, ich brauche mal Hilfe von den "C++ Könnern" unter euch....
Die Funktion "WINAPI GetLogicalProcessorInformation" ist leider nicht in den AutoIt Includes zu finden, also wollte ich sie selber basteln; ....leider ohne Erfolg.
Einfache Funktionen konnte ich schon adaptieren, aber diese weicht irgendwie ins Unbekannte ab.
Ich hoffe mir kann jemand helfen.... und dann sollte die Funktion in die Includes rein (WinAPISys.au3).
BOOL WINAPI GetLogicalProcessorInformation(
_Out_ PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer,
_Inout_ PDWORD ReturnLength
);
https://msdn.microsoft.com/en-us/library/…4(v=vs.85).aspx
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
ULONG_PTR ProcessorMask;
LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
union {
struct {
BYTE Flags;
} ProcessorCore;
struct {
DWORD NodeNumber;
} NumaNode;
CACHE_DESCRIPTOR Cache;
ULONGLONG Reserved[2];
};
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
Alles anzeigen
danke, war nur ein Fall von Wald und Bäume usw....
James wie ich schon erwähnte kann die RegExp Engine das scheinbar nicht, mit zwei Instanzen geht es aber.
BugFix tausend Dank !
Ja, da habe ich mich wohl ein wenig verrannt.....but finally.
Kannst du mir diesen Teil (?:<[^>]+>(?:[^<]+)</[^<]+>\s*) des Pattern bitte noch erläutern.
ok, nochmal neu und hoffentlich etwas klarer....
<item>
....
<main>test1</main>
....
</item>
<item>
....
<main>test2</main>
....
</item>
<item>
....
<main>test3</main>
....
</item>
Alles anzeigen
gefunden werden soll:
(Mit mehr als nur einem RegExp, also mehreren Instanzen, ist das kein Problem.)
Erstmal Danke.....aber da gibt es ein Problem; die einzigen Konstanten sind die <item> und <main> tags ! (alles was noch im <item> tag steht ist unbekannt)
Die einfachste Lösung wäre einen <item> tag zwischen dem öffnendem <item> und den (beiden) <main> tags auszuschließen.
'<item>alles außer <item> tags<main>test2</main>(?s).*?</item>'
Warum kan man ein Set ausschließen [^<item>] aber keine Gruppe (^<item>) ?
Ich habe es auch schon mit dem "darf davor/danach (nicht) stehen" versucht. Eigentlich ganz einfach, aber die RegExp Engine scheint das nicht zu können....
Was soll daran nicht korrekt sein ?
ersteres;
Ich update gleich meinen Startpost mit einem genaueren Beispiel.
nee muss schon RegExp sein; das ist ja nur ein Teil des pattern...
StringRegExp('"der test eins", "was anderes"', '".*?"') findet beides, es soll aber nur "was anderes" gefunden werden.
Hallo, wie kann man mit StringRegExp einen String "nicht finden" / ausschließen ?
Bsp.: "test" soll nicht gefunden werden:
[^test] findet alles außer t, e, s, t
(^test) gibt es nicht
Kombinationen wie [^(test)] oder ([^t][^e][^s][^t]) gehen auch nicht....
Blicke ich einfach nicht durch oder ist das wirklich so kompliziert ? Kann da Jemand helfen ?
besseres Beispiel:
<item>
<title>some title</title>
<main>test1</main>
<text>text text</text>
</item>
<item>
<title>some title</title>
<main>test2</main>
<text>text text</text>
</item>
<item>
<title>some title</title>
<main>test3</main>
<text>text text</text>
</item>
Alles anzeigen
Gefunden werden soll von <item> bis </item>, aber nur das mit "test2" im <main> tag !
Das Pattern '<item>(?s).*?<main>test2</main>(?s).*?</item>' findet aber vom 1. bis zum Ende des 2. <item> tag.