자바에서 Pattern 및 Matcher 클래스를 사용하여 링크 파일 스크립트를 구문 분석합니다. 내가 필요로하는 텍스트는 섹션의 일부입니다 : (. *) 지금 내가 자바 패턴 및 매처
Pattern SectPattern = Pattern.compile("(SECTIONS\\{(.*)\\})");
을 사용하고
SECTIONS
{
.text : {} > FAST_MEM /* Link all .text sections into ROM */
.intvecs : {} > 0x0 /* Link interrupt vectors at 0x0 */
.data : /* Link .data sections */
{
tables.obj(.data)
. = 0x400; /* Create hole at end of block */
} = 0xFF00FF00 > EEPROM /* Fill and link into EEPROM */
ctrl_vars: /* Create new ctrl_vars section */
{
ctrl.obj(.bss)
} = 0x00000100 > SLOW_MEM /* Fill with 0x100 and link into RAM */
.bss : {} > SLOW_MEM /* Link remaining .bss sections into RAM */
}
내가 그룹을 추출 할하지만 결과가 아닌 내가이 예상 누구든지 사용하는 더 좋은 패턴에 대한 아이디어가 있습니까?
이렇게하면 파일에 하나 이상의 SECTION이있는 것일 수도 있습니다. 맞습니까? – verisimilitude
정규식은 일치하는 중첩 가능한 중괄호를 구문 분석하는 올바른 선택이 아닙니다. –