문자열을 파싱하고 일부 문자열을 추출하려고합니다. 기본적으로 2-3 자리 숫자는 앞에 "TEST"가있는 것을 제외하고는 일치해야합니다. TEST무언가 앞에 뭔가가없는 경우 일치
_[0-9]{2,3}|\.[0-9]{2,3}
후 첫 번째 자리 무시 - -
(?<!TEST)[0-9]{2,3}
올바르게 번호와 일치하지만, 일치 : 여기
TEST2XX_R_00.01.211_TEST => 00, 01, 211
TEST850_F_11.22.333_TEST => 11, 22, 333
TESTXXX_X_12.34.456 => 12, 34, 456
내가 해봤 것들 중 일부는 다음과 같습니다 몇 가지 예를 들면 다음과 같다 (_ 또는.) 앞에 문자가 있어야합니다.
나는 regex for matching something if it is not preceded by something else과 중복 될 수도 있지만 거기에 답을 얻을 수 없다는 것을 알고 있습니다.
두 번째 경우에는 그룹 내에서 필요한 데이터를 캡처하여 거기에서 가져올 수 있습니까? '[_.] (\ d {2,3})'[LINK] (https://regex101.com/r/VKsXwg/1) – Gurman
루아는 특정 루아 패턴만을 지원하지 않습니다. 외부 정규 표현 엔진을 사용하지 않는 한이 질문에'lua-patterns' * 태그를 붙여야합니다. 너? –
@ WiktorStribiżew 네 말이 맞아, 나는 브라우저에서 실험하고 있었다. – PoVa