Write one regular expression to match the following three phrases. The expression must capture the values of latitude, longitude, city, and state into regex groups 1, 2, 3, and 4.
"lat":"42.350645","lon":"-71.130995 ","city":"Boston","state":"MA"
"lat":"","lon":,"city":"NEW YORK","state":"NY"
"lat":"33.68223755","lon":"-112 ","city":"Phoenix","state":"az"
Jednym wyrażeniem regularnym mam wyciągnąć i pogrupować na długość, szerokość geograficzną, miasto i stan. Na chwilę obecną mam tylko tak
Kod
@"""lat"":""(?<group1>[+-]?(\d+\.\d+)?(\d+))[\s]*"",""lon"":""(?<group2>[+-]?(\d+\.\d+)?(\d+))[\s]*"",""city"":""(?<group3>\w+)"",""state"":""(?<group4>\w{0,2})""";
///pod ide Visual studio dostosowane
///pod ide Visual studio dostosowane
wyciąga w miarę tak jak trzeba ale z drugiej pozycji nie chce mi przypisać miasta i stanu do grupy 3 i 4
mam jeszcze tak
Kod
@"((""lat"":""(?<group1>([+-]?(\d+\.\d+)(\d+))[\s]*)"")|(""lon"":""(?<group2>([+-]?(\d+\.\d+)?(\d+))[\s]*)"")|(""city"":""(?<group3>(\w+\s?)*)"")|(""state"":""(?<group4>(\w{0,2}))""))";
ale też nie daje mi tego efektu w pętli co trzeba.
z tego co wiem to efekt końcowy dla zadania powinien być taki:
Cytat
42.350645,-71.130995,Boston,MA
,,NEW YORK,NY
33.68223755,-112,Phoenix,az
,,NEW YORK,NY
33.68223755,-112,Phoenix,az
w pierwszym przypadku brakuje całości z drugiej linii a w drugim przypadku wychodzi tak
Cytat
42.350645,,,
,-71.130995,,
,,Boston,
,,,MA
.......
////i podobnie jest dla reszty
,-71.130995,,
,,Boston,
,,,MA
.......
////i podobnie jest dla reszty
nie wiem co robię źle akurat tutaj już trochę czasu kombinuje i nic nie mogę wymyślić.
w PHP i C# próbuję to robić i nadal ten sam efekt, a c# zainstalowany bo może przydało by się porobić coś w nim od czasu do czasu
