세미콜론 종료로 C "for" 및 "while" 루프 감지
세미콜론으로 끝나는 C for 또는 while 루프 일치 -정규식을 사용하는 콜론은 어려울 수 있습니다. 일반적인 접근 방식은 균형 잡힌 하위 문자열과 일치하도록 명명된 그룹을 생성하여 전체 루프 본문이 괄호 안에 포함되도록 하는 것입니다.
그러나 이 방법은 루프 본문에 함수 호출이 포함되어 균형이 깨질 때 불안정해집니다. 정규식이 아닌 함수를 사용하는 단순화된 접근 방식으로 이 문제를 극복할 수 있습니다.
루프 일치를 위한 사용자 정의 함수
다음 사용자 정의 함수는 입력 문자열을 가져와서 for를 검색합니다. 또는 while 루프 뒤에 세미콜론이 옵니다:
def find_loop_and_semicolon(string): pos = string.find('(') + 1 open_br = 0 while open_br >= 0: char = string[pos] if char == '(': open_br += 1 elif char == ')': open_br -= 1 pos += 1 return pos if open_br == 0 and string[pos] == ';' else -1
함수:
사용법
string = "for (int i = 0; i < 10; doSomethingTo(i));" result = find_loop_and_semicolon(string) if result != -1: print("Loop found and terminated with a semi-colon.") else: print("No matching loop found.")
장점
위 내용은 세미콜론으로 끝나는 C 'for' 및 'while' 루프를 안정적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!