2 가지 시나리오에서 작동하는 정규 표현식 루아 5.0이 나오지 않습니다.정규 표현식에 문제가 있습니다.
1) 발현 = "[^V]Core %d+:%s*%+(%d+%.%d+)°C %(crit = %+(%d+%.%d+)°C%)"
이 올바르게 문자열과 일치 :
Core 0: +45.0°C (high = +86.0°C, crit = +100.0°C)
그러나, 나는 할 수 있도록하려면 :
Core 0: +45.0°C (crit = +100.0°C)
2) 식을 = "[^V]Core %d+:%s*%+(%d+%.%d+)°C %(high = %+%d+%.%d+°C, crit = %+(%d+%.%d+)°C%)"
이 제대로이 문자열을 일치 문자열과 일치하고 두 개의 캡처가 있습니다 : 첫 번째 온도와 임계 온도. (저는 고온이 필요 없습니다).
expression = "[^V]Core %d+:%s*%+(%d+%.%d+)°C %((?:high = %+%d+%.%d+°C,)crit = %+(%d+%.%d+)°C%)"
내가 루아에서 오전하지만 난 정규식 표현식 구문이 밀접한 Perl과 같은 다른 언어를 일치 생각 : 나는이하지만 행운을 시도했다. 누구나 아이디어가 있으십니까?
은 정말 온도가 내가 잘라 내가 괄호 전에 2 공백이 생각 때문에 붙여하지 않았다 – AndersH