2013-09-07 1 views
0

Привет У меня есть файл, как этотразбор внутренней скобки в файле Java

classitem A B{ 

//some info 
    item 1{ 
     subitem1{ 
     } 
     //other subitems 
    } 
    item 2{ 
     //subitems 
    } 
    //other items 
} 
//other classitems. 

мне нужно разобрать файл, так что я могу создать объект подпозиция и назначить его на соответствующий объект элемента и присвоить объект элемента к соответствующему объекту класса. Как я могу разобрать внутреннюю скобку для создания такой модели в java? Любое регулярное выражение или что-то поможет?

+0

Я не совсем уверен, что вы пытаетесь соответствовать. Не могли бы вы привести пример ожидаемого результата? – Siddhartha

+0

@Siddhartha каждый файл будет иметь несколько classitems, я создам класс для каждого класса, а также для каждого элемента и подэлемента. поэтому в каждом классе я буду иметь поля позиций, которые будут предметными объектами. и объекты объекта содержат объекты подэлемента. Например, classitemAB.item [0] .subitems [0] .value = 10; что-то вроде этого. Моя забота заключается в том, как я могу разобрать файл, чтобы получить имена classitemsAB, item1 subitem1 и т. Д. –

ответ

1

Используйте структуру данных, называемую стеком. (В Java используется класс, реализующий Deque, такой как LinkedList)

Когда вы переходите к левой скобке, нажмите текущий элемент в стек. Когда вы читаете правые скобки и должны заканчивать элементы, вытащите их из стека. Это структура Last In First Out.

http://docs.oracle.com/javase/tutorial/essential/regex/index.html

+0

да, я знаю это. но я хочу знать, как я могу определить регулярное выражение для этого? например, если «somename {'apears, я хочу извлечь свойство somename. –

+0

[java.util.Scanner] (http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html) подходит для общих целей. Похоже, вы должны прочитать документацию для этого и для регулярных выражений выше. Исследования до вопросов, пожалуйста. – clwhisk

+0

Я знаю механизмы, я ищу некоторые шаблоны регулярных выражений. –