2011-09-18 5 views
0

C++에서 Python 언어 용 IDE를 작성 중이며 파이썬 언어 구문에 구문 하이 라이터를 작성했습니다. 하지만 난 그것에 두 가지 문제가 있습니다 :구문 강조와 관련된 문제

  1. 내 고향 숫자에 대한 정규 표현식 패턴은 '\ d +'입니다. 그것은 코드의 모든 부분을 숫자로 강조 표시합니다. 예를 들어, 'Qt4'에서 '4'를 강조 표시하고 있는데이 경우 숫자를 강조 표시하지 않습니다. 둘 사이에 문자열을 highkighting에 대한

  2. 내 정규 표현식 패턴은 '' '는'\ ". * \" '. 그것은 하나 개의 문제 만 작동합니다. 심지어'으로 사례를 강조 "일부 텍스트 1"일부 텍스트 2 "일부 텍스트 3 "일부 텍스트 2 '와 내가 원하는 강조 표시를하지 않습니다'.

이 두 가지 문제에 대한 해결책은 무엇인가? 이미 코멘트에 언급

+1

21 세기의 정규 표현식으로 강조 표시 구문을 강조 표시 하시겠습니까? 무의미한 말! 파이썬은 매우 간단한 언어이므로 올바른 의미 인식 파서를 대신 구현할 가치가 있습니다. –

+0

@ SK-logic 또는 그 이상인 경우 Python 소스 코드를 사용하여 코드를 구문 분석하십시오. –

답변

1

는 정기적으로 사용하는 것이 적절하지 않을 수 있습니다를 언어를 구문 분석하는 표현식

당신은 단어 경계를 사용하여이 문제를 회피 할 수

  1. : \".*?\"

참고 : 이미 그는 해결됩니다 언급 \b\d+\b

  • 이 표현이 아닌 욕심 확인하여 두 가지 질문에 대해서는

    어떠한 경우에도 정확하지 않을 수 있습니다.

  • +0

    '\ b \ d + \ b'패턴을 테스트했지만 순수 디지털 문자열이 강조 표시되지 않습니다! –