Regex не работает в одном случае - PullRequest
0 голосов
/ 13 мая 2010

У меня есть строка со следующей информацией.

Obabikon, ON 49°10′N 94°10’W 2278 km N69°W

У меня есть поиск регулярного выражения следующим образом:

String LongPattern = @"(~)?([0-9\?])+°([0-9\?])*′[EWO]";
return FindPattern(source, LongPattern);

Он должен найти <<code>94°10’W> Но не так ли? Это регулярное выражение работает для остальных моих данных без каких-либо проблем.

Есть какие-нибудь подсказки?

Ответы [ 3 ]

3 голосов
/ 13 мая 2010

У вас есть два вида апострофии. Сравните их:

49°10′N
94°10’W

Если вы хотите справиться с любым из них, измените свое регулярное выражение на:

"(~)?([0-9\?])+°([0-9\?])*[′’][EWO]"

Либо исправьте свои входные данные:)

2 голосов
/ 13 мая 2010

Цитаты разные. В вашей теме есть «, а в регулярном выражении». Это небольшая разница, но они разные персонажи ...

0 голосов
/ 13 мая 2010

В течение нескольких минут здесь более одного символа. Даже в пределах вашей строки-образца минутные значения широты и долготы являются разными символами. Похоже, что символ в вашем регулярном выражении совпадает с символом в широте, поэтому он не соответствует долготе.

В вашей долготе у вас есть

В вашем регулярном выражении у вас есть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...