Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 09:31
Оценка:
как разобрать строку.
т.е. надо получить номер формата строки и если строка соотвествует одному из форматов, то параметрам присвоить значения.
Re: Есть строка текста и форматы строки
От: hardcase Пират http://nemerle.org
Дата: 24.02.11 09:35
Оценка:
Здравствуйте, Аноним, Вы писали:

А>как разобрать строку.

А>т.е. надо получить номер формата строки и если строка соотвествует одному из форматов, то параметрам присвоить значения.

Можно регулярными выражениями:
using Nemerle.Text;


regexp match(str)
{
  | <#(?<x:int>\d+)\s+(?<y:int>\d+)\s+(?<z:int>\d+)#> =>
    // используем числа x, y и z
  | <#(?<k>\w+)\s+(?<t:int>\d+)#> =>
    // используем строку k и число t
  | _ =>
    // формат не распознан
}
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 09:38
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Аноним, Вы писали:


А>>как разобрать строку.

А>>т.е. надо получить номер формата строки и если строка соотвествует одному из форматов, то параметрам присвоить значения.

H>Можно регулярными выражениями:

H>
H>using Nemerle.Text;


H>regexp match(str)
H>{
H>  | <#(?<x:int>\d+)\s+(?<y:int>\d+)\s+(?<z:int>\d+)#> =>
H>    // используем числа x, y и z
H>  | <#(?<k>\w+)\s+(?<t:int>\d+)#> =>
H>    // используем строку k и число t
H>  | _ =>
H>    // формат не распознан
H>}
H>


Большое спасибо
Re[2]: Есть строка текста и форматы строки
От: WolfHound  
Дата: 24.02.11 09:53
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Можно регулярными выражениями:

А если формат сложный то ПЕГом.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 10:00
Оценка:
Здравствуйте, hardcase, Вы писали:

А описание формата строки Немерли регэкспа где нить есть?
Re[3]: Есть строка текста и форматы строки
От: hardcase Пират http://nemerle.org
Дата: 24.02.11 10:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, hardcase, Вы писали:


А>А описание формата строки Немерли регэкспа где нить есть?


Это .NETный регексп, расширенный лишь в одном месте:
(?<переменная : тип>)

Именованные группы превращаются в переменные, если тип не указан, то переменная будет иметь тип string. Если же тип указан, то он должен содержать статический метод Parse(x : string), который будет вызван для захваченной группы.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 10:53
Оценка:
Здравствуйте, hardcase, Вы писали:

| <#<span style="position:absolute;top:2799pt;left:106pt" id=f7>(?<sss>\w+)</span>#> =>_=listBox1.Text.Insert(0,sss);
что в этой строке не верно
Re[5]: Есть строка текста и форматы строки
От: hardcase Пират http://nemerle.org
Дата: 24.02.11 11:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>что в этой строке не верно


С этой строкой все в порядке, дело в том, что regexp match добавляет к паттерну якоря: ^ и $.
Я не знаю, хорошо это или плохо.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[5]: Есть строка текста и форматы строки
От: WolfHound  
Дата: 24.02.11 11:17
Оценка: 1 (1)
Здравствуйте, <Аноним>, Вы писали:

А>что в этой строке не верно

Использование регулярных выражений для разбора HTML.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 11:47
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Аноним, Вы писали:


А>>что в этой строке не верно


H>С этой строкой все в порядке, дело в том, что regexp match добавляет к паттерну якоря: ^ и $.

H>Я не знаю, хорошо это или плохо.

а что это значит?
Re[6]: Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 11:55
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, <Аноним>, Вы писали:


А>>что в этой строке не верно

WH>Использование регулярных выражений для разбора HTML.

А как надо?
Re[7]: Есть строка текста и форматы строки
От: hardcase Пират http://nemerle.org
Дата: 24.02.11 11:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>а что это значит?


Это значит что кейзы в regexp match сопоставляются со всей строкой, а не с ее частью.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 12:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>как разобрать строку.

А>т.е. надо получить номер формата строки и если строка соотвествует одному из форматов, то параметрам присвоить значения.

Вообщем если в строке есть русские буквы, то она не записывается в переменную.
Re[7]: Есть строка текста и форматы строки
От: Denom Украина  
Дата: 24.02.11 12:28
Оценка: 1 (1)
Здравствуйте, <Аноним>, Вы писали:

WH>>Использование регулярных выражений для разбора HTML.


А>А как надо?


Я для парсинга использую HtmlAgilityPack

Для выбора тегов XPath
И только для проверки занчений атрибутов(например href) — regexp
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[2]: Есть строка текста и форматы строки
От: hardcase Пират http://nemerle.org
Дата: 24.02.11 12:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>как разобрать строку.

А>>т.е. надо получить номер формата строки и если строка соотвествует одному из форматов, то параметрам присвоить значения.

А>Вообщем если в строке есть русские буквы, то она не записывается в переменную.


Полный пример приведите, а лушче всего в багтрек запостить — дабы не потерялся баг.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Есть строка текста и форматы строки
От: Аноним  
Дата: 24.02.11 13:00
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, Аноним, Вы писали:


А>>>как разобрать строку.

А>>>т.е. надо получить номер формата строки и если строка соотвествует одному из форматов, то параметрам присвоить значения.

А>>Вообщем если в строке есть русские буквы, то она не записывается в переменную.


H>Полный пример приведите, а лушче всего в багтрек запостить — дабы не потерялся баг.


разобрался, проблема с кодировкой была
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.