Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

[java] problem med pattern.compile

Skapad av Borttagen, 2013-08-07 21:09 i Webbutveckling & Programmering

2 058
5 inlägg
0 poäng
moon_werewolf
Visningsbild
P 35 Huddinge Hjälte 1 729 inlägg
0
Jag behöver få ut några inställningar från en String som ser ut så här.

Ett stycke html-kod:

name="Tunnel Blitz 1" author="nonamepaper" envir="Canyon" mood="Night" type="Race" maptype="Trackmania\Race" mapstyle="Long Circuit"


jag behöver kunna få ut alla namn och inställningar.

result[0] = name
result[1] = Tunnel Blitz 1
result[2] = author
result[3] = nonamepaper

eller något liknade. Men jag har ingen aning om hur man kodar det med Pattern.compile

Ingen status

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Lastbilen
Visningsbild
Hjälte 210 inlägg
0
du kan inte typ använda någon String.split-metod? splitta vid mellanslag.

Tillägg av Lastbilen 2013-08-07 22:06

oh ah efteråt ta substrings på det som är citerat.

Borgarstaten skiter i dig. Organisera dig och gör motstånd!

StayYucky
Visningsbild
Hjälte 143 inlägg
0
Du vill alltså splitta stringen där du har antingen =", " eller "[mellanrum]. Pattern.compile tar antingen en eller två argument; när det är ett argument tar den endast ett reguljärt uttryck (regex) och när den tar två är det ett regex och flaggor.

http://www.vogella.com/articles/JavaRegularExpressions/article.html bra tutorial för hur regex och även Pattern fungerar. :>

Pankie
Visningsbild
P 32 Nödinge Hjälte 4 192 inlägg
0
Svar till moon_werewolf [Gå till post]:

Jag gjorde något liknande med Pattern klassen när jag skulle filtera Ipadress om dem var IPv6 eller IPv4.

http://pastebin.com/mZDF9NAg






Tillägg av Pankie 2013-08-08 09:50

Det står i dokumenten hur man använder Pattern
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

Din mamma behandlar fler förfrågningar än HTTP

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Det här reguljära uttrycket borde fungera, sen hur man gör i Java vet jag inte, men borde fungera lika bra där med.

([\S]*?)="(.*?)"

Så här fint blev det i python :)
Ett stycke html-kod:
import re

settings = 'name="Tunnel Blitz 1" author="nonamepaper" envir="Canyon" mood="Night" type="Race" maptype="Trackmania\Race" mapstyle="Long Circuit"'
matches = re.findall('([\S]*?)="(.*?)"', settings)

for match in matches:
print(match[0] + '=' + match[1])


Den här sidan tycker jag är bra för att testa sina reguljära uttryck, för då kan du testa på direkten hur det fungerar.
http://gskinner.com/RegExr/

Jag är ond!


Forum » Datorer & IT » Webbutveckling & Programmering » [java] problem med pattern.compile

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons