mboost-dp1

c# regex anything but "."


Gå til bund
Gravatar #1 - plazm
4. okt. 2010 12:03
Hej, jeg sidder og er ved at skrive et lille utillity og er løbet ind i et problem som jeg ikke selv lige har kunnet finde en løsning på.

Jeg har en række strenge lignende
rubbish. rubbish. rubbish. id: XXXXXXXXXX. rubbish here, rubbish. rubbish. more rubbish.

hvor jeg vil have fat i ID'et, problemet er at X kan være alt bortset fra . så jeg tænkte at

"id: (^\\.+)\\." burde have været nok til at fange det, men nej :/

Hvad er det jeg glemmer?
Gravatar #2 - D_V
4. okt. 2010 12:17
Burde den ikke være noget i stil med denne ?

"id: (.+?)\."
Gravatar #3 - myplacedk
4. okt. 2010 12:33
Jeg kender ikke lige C#-syntaxen men generelt...

Et tegn som ikke er punktum:
[^\.]

"id: " og så tegn frem til næste punktum:
id: [^\.]*

Ovenstående hvor den variable streng bliver gemt:
id: ([^\.]*)
Gravatar #4 - arne_v
4. okt. 2010 12:34
prøv:

"id: [^\\.]+\\."
Gravatar #5 - plazm
4. okt. 2010 12:37
#3, det var spot on, havde glemt at få [ ] med, dog brugte jeg + i stedet for * ;)

#4, det fungerer også, men mangler lige min gruppe :)
Gravatar #6 - Windcape
5. okt. 2010 13:21
myplacedk (3) skrev:
Jeg kender ikke lige C#-syntaxen men generelt...
C# bruger perl style regular expressions.
Gravatar #7 - Daniel-Dane
5. okt. 2010 18:48
Windcape (6) skrev:
C# bruger perl style regular expressions.
Altså PCRE?
Gravatar #8 - Windcape
5. okt. 2010 18:53
Daniel-Dane (7) skrev:
PCRE
Jeps.
Gravatar #9 - arne_v
5. okt. 2010 18:55
#7

PCRE bruger som navnet antyder også perl style.

Men jeg har aldrig hørt at .NET skulle bruge PCRE koden.
Gravatar #10 - Windcape
5. okt. 2010 18:59
#9

Men .NET tilbyder så vidt jeg umiddelbart kan se, alle de samme muligheder som PCRE.

Perl's stil var vel bare den grundlæggende ide for hvordan PCRE syntaksen blev defineret?
Gravatar #11 - arne_v
5. okt. 2010 19:02
#10

Da PC i PCRE står for Perl Compatible, så må vi antage at målsætningen var 100% kompabilitet med Perl.
Gravatar #12 - arne_v
5. okt. 2010 19:03
#PCRE

PCRE bruges iøvrigt i rigtigt meget software.

Men det er godt nok et tungt API at bruge i C!
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login