webForumDet fria alternativet

RegExp

6 svar · 310 visningar · startad av colione

colioneMedlem sedan juni 20014 421 inlägg
#1

Jag söker ett regexp-mönster som ska regera på följande:

(ABC)
(abc)
(A/B/C)
(a/b/c)

Men inte om man har flera / efter varadra, som det är nu har jag tryckt ihop ett som gör det här, men reagerar på flera / vilket jag inte vill...tacksam för svar

Marcus EMedlem sedan maj 20021 466 inlägg
#2

Regexp fungerar olika beroende på utvecklingsmiljö. Ange gärna den du använder.

colioneMedlem sedan juni 20014 421 inlägg
#3

Vet inte riktigt...det står inte det är en XML.fil, men jag tror den är skriven i c++ (programemt som ska plocka ur det ur XMl-filen)

UlfTMedlem sedan maj 20018 027 inlägg
#4

Med utvecklingsmiljö menar nog Marcus om du har använt Visual C++, eller om du programmerar i någon annan miljö.

Du skulle kunna använda följande uttryck: "(A/*B/*C)|(a/*b/*c)"
Nu har jag utgått från att parenteserna inte ingick i det eftersökta uttrycket. De parenteser du ser i regexp-strängen, finns där för att innesluta substrängar. Om det nu är så att parenteserna faktiskt ingår, då är följande uttryck lämpligare:
"(\(A/*B/*C\))|(\(a/*b/*c\))"
där "\" före parenteses gör att den tolkas som just en parentes i strängen.

Så kan man göra i VB.Net. Hur det ser ut i andra miljöer vet jag inte.

colioneMedlem sedan juni 20014 421 inlägg
#5

Det är inte jag som har utvecklat applikationen så jag vet inte vad det är för regexp som gäller. dock så ska den tolka ett regexp som är inskrivet i en XML-fil..men det jag har nu ser ut så här (parenteser inräknade)

\([Aa]\/*[Bb]\/*[Cc]\)

Men som sagt då godkännes (a/////////////////////////b/c) och liknande

RobbanMedlem sedan dec. 19992 555 inlägg
#6

* betyder oftast noll eller flera
? betyder oftast noll eller en

Så testa med följande:

\([Aa]\/?[Bb]\/?[Cc]\)

Det kommer dock fortfarande tillåta avarter som t.ex.:

(A/bC)

Är inte det tillåtet så måste du vara mer specifik. Antingen m.h.a. utökade reguljära uttryck (som skiljer sig mycket beroende på miljö, vilket gör det svårt att ge ett exempel i ditt fall), eller att helt enkelt ange exakt vilka kombinationer som skall vara tillåtna:

\((ABC)|(abc)|(A\/B\/C)|(a\/b\/c)\)

(Har tyvärr ingen möjlighet f.n. att testa så att det fungerar.)

colioneMedlem sedan juni 20014 421 inlägg
#7

Okej tack, ska prova mig fram

128 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)