나는 여러 명령을 사용하는 봇을 가지고 있으며이 명령에 대해 인수를 취할 수있는 기능을 확장하려고합니다. 내가 처리 명령이 기능 만 해제 확장 정규식이 지금특정 문자열 다음에 Regex infinine 캡쳐 그룹
!action db_table mandatory_arg arg1 arg2 arg3...
:
이
는 구문입니다^!(\S*)\s?(\S*)\s?(\S*)\s?(\S*)\s?(\S*)\s?(\S*)\s?(\S*)\s?(\S*)$
그것은 작동하지만 위대한 아니에요 그리고 그것은 분명히 제한 있어요 얼마나 많은 \ S * 거기에 추가 할 수 있습니다.
그럼 다음 문자열에서 무제한의 인수를 어떻게 일치시킬 수 있습니까?
!dont match this match1 match2 match3 match4 etc...
나는 lookbehind를 사용해 보았지만 첫 번째 경기에서만 작동합니다. 또한 첫 번째 부분을 완전히 무시한 채로 다시 시도했지만, 다른 부분도 해당 특정 무시를 찾고 있기 때문에 첫 번째 인수에 대해서만 작동합니다.
마지막으로 나는 또한 \ K 샷을 주었지만 제대로 작동하지 않았습니다.
!\w+\s\w+\s\w+\s\K(\S*)*
왜'.split()'를 사용하지? – Jan
PyPi regex 라이브러리를 사용하고 있습니까? –
Regex는 무제한의 문자열을 캡처 할 수 없습니다. 공백에 문자열을 나누면 어떨까요? –