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
6 svar · 310 visningar · startad av colione
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
Regexp fungerar olika beroende på utvecklingsmiljö. Ange gärna den du använder.
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)
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.
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
* 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.)
Okej tack, ska prova mig fram