Сопоставьте отрицательные и положительные десятичные числа?

Я пытаюсь сопоставить положительные и отрицательные числа между двумя тегами, используя регулярное выражение, положительные числа возвращаются нормально, но отрицательные не совпадают. Я использую:

string value8 = (",\"lng\":\"(([^\"\\\\]|-\\\\.)*)\",");
Match[] lng = Regex.Matches(Text, value8)

соответствовать

"lng":"-104.845275878905880"

или подобное, оно может быть положительным или отрицательным. При положительном значении он соответствует числу, а при отрицательном — совпадений нет.


person user556396    schedule 17.01.2011    source источник


Ответы (1)


Если я что-то не упустил, ваше регулярное выражение выглядит немного сложнее, чем должно быть. Вы должны иметь возможность использовать что-то вроде этого:

"\"lng\":\\\"(-?[0-9]*\\.?[0-9]*)\\\""

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

person Adam Robinson    schedule 17.01.2011
comment
ах, извините за то, что запятая должна быть там, хотя по какой-то странной причине она соответствует 0,00000000000000. - person user556396; 17.01.2011
comment
@ user556396: Решит ли этот новый шаблон вашу проблему, если вы добавите запятую? - person Adam Robinson; 17.01.2011