Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Regex: matcha minst 3 av 4 olika patterns i en sträng

Postades av 2005-02-11 17:15:14 - Jonas Österlöf, i forum c# (c-sharp), Tråden har 6 Kommentarer och lästs av 581 personer

Hej!

Jag är riktigt dålig på regex, det ska sägas med en gång. Jag har dessutom hittills bara gjort mycket enkla saker med .NET:s RegularExpressions-klass. Så det är fullt möjlighet att jag angriper det här problemet på helt fel sätt.

Jag vill kontrollera att en sträng (ett lösenord) svarar mot minst 3 av 4 krav, minst en versal, minst en gemen, minst en siffra, minst ett specialtecken.

Min tanke var då att skapa en serie grupper med ovanst. patterns och sedan testa att Matches.Count >= 3. Där jag går bet är att respektive *typ* av matchning bara ska räknas en gång.
"ab" ska t.ex. inte lägga till två matchningar till MatchesCollection, utan en.

Några tips?

mvh
/Jonas




Svara

Sv: Regex: matcha minst 3 av 4 olika patterns i en sträng

Postades av 2005-02-11 18:37:56 - Per Persson

Det borde vara enklast att bara köra
<code>
bool okej = ((int)harVersal(pass) + (int)harGemen(pass) + (int)harSiffra(pass) + (int)harSpecial(pass) >= 3);
</code>
där harVersal(...) bara kollar om det finns en versal i bifogad sträng.


Svara

Sv:Regex: matcha minst 3 av 4 olika patterns i en sträng

Postades av 2005-02-12 14:03:57 - Jonas Österlöf

Hej Per!
Jo, det funkar förstås. Jag hade bara en idé om att de skulle gå att med ett enda regex-uttryck.
Typ

<code>
public bool IsStrongPassword(Password)
{
string myRegEx = "^(?=.*[a-z])|(?=.*[A-Z])|(?=.*\d)|(?=.*[lista på diverse specialtecken])$";
System.Text.RegularExpressions.Regex regex = new Regex(myRegEx);
System.Text.RegularExpressions.MatchesCollection m = regex.Matches(Password);
if(m.Count >=3)
return true;
else
return false;
}
</code>

Men just denna kod funkar inte eftersom den adderar en match för *varje* förekomst av gemen, versal osv.

Jag försöker inte bara få jobbet gjort, utan också lära mig regex, därav frågan.

mvh
/Jonas


Svara

Sv:Regex: matcha minst 3 av 4 olika patterns i en sträng

Postades av 2005-02-12 14:03:58 - Jonas Österlöf

trippelpost... ...kan man inte ta bort inlägg?


Svara

Sv:Regex: matcha minst 3 av 4 olika patterns i en sträng

Postades av 2005-02-12 14:03:59 - Jonas Österlöf

trippelpost...


Svara

Sv: Regex: matcha minst 3 av 4 olika patterns i en sträng

Postades av 2005-03-02 20:09:29 - Göran Andersson

Det borde vara enkelt att lösa om du gör tre olika mönster som vardera kräver tre av kriterierna:

^((mönster 1)|(mönster 2)|(mönster 3))$

Då är det bara att kolla ifall du får en träff på mönstret eller inte.


Svara

Sv:Regex: matcha minst 3 av 4 olika patterns i en sträng

Postades av 2005-05-20 13:43:09 - Jonas Österlöf

Hej Göran!

Får först be alla så mycket om ursäkt för att jag aldrig stängde den här tråden, det dök upp akuta problem i ett system jag ansvarar för så jag fick göra en s.k. brandkårsutryckning... ...och när elden väl var släckt var jag tvungen att göra annat och allt detta glömdes bort. Nu försöker jag plocka upp projektet igen.

Nå, din lösning fungerar ju bra i mitt fall, så jag sätter tråden som löst. Men jag kan inte låta bli att undra om det inte skulle gå att göra s.a.s. effektivare. Om det t.ex. istället rört sig om ett krav på minst sju villkor av 10 t.ex., så blir det väl många permutationer.

Så om nån snubblar på denna tråd nån gång och ser en bättre lösning, öppna den gärna igen!

mvh
/Jonas


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
728
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies