• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyrażenie regularne - zamiana lub na i

0 głosów
430 wizyt
pytanie zadane 15 kwietnia 2020 w JavaScript przez MiiN Nowicjusz (240 p.)
Dzień dobry wszystkim.
Mam do Was pytanie.
Próbowałem już wszystkich sposobów i nie potrafię poradzić sobie z zapisem wyrażenia regularnego, które uwzględniało by wszystkie trzy warunki, czyli jak zapisać wyrażenie, żeby w nazwie pliku np.
'01-07_11-35_Q005169-A1-1(skala 1).pdf'
uwzględniło słowo  'skala 1'  i  'A1'  i  'Q0'
Poniższy zapis uwzględnia jeden z, a chciałbym żeby uwzględniał wszystkie trzy warunki.
(.*skala 1.*)|(.*A1)|(.*Q0)

Z góry dziękuję za pomoc :-)

1 odpowiedź

0 głosów
odpowiedź 15 kwietnia 2020 przez tangarr Mędrzec (155,140 p.)

Zmodyfikowałem twoje wyrażenie bazując na temacie ze stackoverflow

(?=.*skala 1.*)(?=.*A1)(?=.*Q0)

 

komentarz 15 kwietnia 2020 przez MiiN Nowicjusz (240 p.)
Bardzo dziękuję za szybką reakcję i pomoc :-)
Niestety przedstawiony przez Ciebie kod wywala błąd.
Próbowałem wpisać każdy człon z osobna i także wyskakuje błąd.
To wyrażenie nie wpisuję w żaden inny kod. Wpisuję je w okienko gotowego programu, który z określonej lokalizacji pobiera określony wyrażeniem regularnym plik.
komentarz 15 kwietnia 2020 przez tangarr Mędrzec (155,140 p.)
Kurcze, myślałem, że to zadziała.

Posiedziałem chwilę nad regexami ale nie udało mi się wymyślić nic przystępnego.

W tej sytuacji najłatwiej będzie stworzyć trzy wyrażenia regularne
.*skala 1.*
.*A1.*
.*Q0.*
i sprawdzić czy wszystkie się matchują
komentarz 15 kwietnia 2020 przez MiiN Nowicjusz (240 p.)
Wszystkie z osobna działają. Pytanie tylko jak je ze sobą połączyć.
komentarz 15 kwietnia 2020 przez MiiN Nowicjusz (240 p.)
Można zrobić na okrętkę. Najpierw wyselekcjonować wszystkie, które zawierają wyraz 'skala 1' z nich wyselekcjonować wszystkie, które zawierają 'A1' a z nich wszystkie z 'Q1', ale myślę, że to można zrobić prościej.
komentarz 15 kwietnia 2020 przez tangarr Mędrzec (155,140 p.)
Chcesz to użyć w java scripcie?
komentarz 15 kwietnia 2020 przez MiiN Nowicjusz (240 p.)

Oto okno programu w które wpisuję wyrażenie.

komentarz 15 kwietnia 2020 przez tangarr Mędrzec (155,140 p.)

Rozumiem. Tagi tematu wprowadziły mnie w błąd,

Mam nadzieję, że ten regex się tam zmieści:

(.*A1.*Q0.*skala 1.*)|(.*A1.*skala 1.*Q0.*)|(.*Q0.*A1.*skala 1.*)|(.*Q0.*skala 1.*A1.*)|(.*skala 1.*A1.*Q0.*)|(.*skala 1.*Q0.*A1.*)

 

komentarz 15 kwietnia 2020 przez tangarr Mędrzec (155,140 p.)

W sumie mam takie głupie pytanie: Czy kolejność występowania wyszukiwanych fraz zawsze jest taka sama?
Po przeczytaniu pytania założyłem, że chodzi o wykrywanie ich w dowolnej kolejności (właśnie to robi wyrażenie regularne w poprzednim komentarzu)
Ale jeżeli kolejność jest zawsze taka sama to wystarczy wyrażenie

.*Q0.*A1.*skala 1.*

 

komentarz 16 kwietnia 2020 przez MiiN Nowicjusz (240 p.)

Bardzo mi pomogłeś tangarr smiley
Dziękuję Tobie jak nie wiem co !!! smiley smiley smiley​​​​​​​

Podobne pytania

0 głosów
2 odpowiedzi 676 wizyt
0 głosów
0 odpowiedzi 206 wizyt
pytanie zadane 20 kwietnia 2018 w JavaScript przez brn Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 408 wizyt
pytanie zadane 7 stycznia 2021 w Inne języki przez Gucci Gaduła (4,580 p.)

93,741 zapytań

142,677 odpowiedzi

323,294 komentarzy

63,323 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...