괄호없는 괄호 문자를 포함하는 4 세트의 대괄호와 일치하는 정규 표현식을 작성하는 방법을 알아 내려고합니다.Java Regex : 여러 괄호 집합과 문자열 일치
예를 들어 일치해야합니다.
[hello][world][foo][bar]
[][][][]
이들은 안 : 내가 잘못 본게 아니라면
는[a][b][c]
[a][b][c][d]e
[[a]][b][c][d]
이 (아래) 하나 개의 브라켓 세트 내의 문자와 일치하는 것으로 보인다.
\\[[^\\[\\]]*\\]
다음을 수행하여 4 세트로 확장 할 수 있다고 생각했지만 작동하지 않습니다.
[\\[[^\\[\\]]*\\]]{4}
무엇이 여기에 있습니까? 모든 도움을 미리 감사드립니다. 감사합니다. 제임스는 아래에 지적한대로 당신이하려고했던 것처럼
이(\\[[^\\[\\]]*\\]){4}
, 보이는 :
답장을 보내 주셔서 감사합니다. 대괄호 나 괄호를 사용할 때 혼란 스럽습니다. "[^ \\\ [\\\]] *"= 0 개 이상의 괄호 문자는 없지만 "(abc) {4}"= abc는 4 번 사용합니다. 그 중 하나는 다른 것에 비해 언제 사용되어야 하는가? – Dazarath
@Dazarath : 이전 토큰 *에 대해 반복/수량 기호 연산자 ('?','+','*','{n, m}')가 작용하고'(...) 클래스'[...]'는 모두 토큰이됩니다. 실제로 시퀀스에서 토큰을 생성하기 때문에 캡처 그룹 (또는 * non * -capturing 그룹'(? : ...))을 사용하는 것이 일반적입니다. 따라서 "foo"라는 단어를 여러 번 찾으려면 이전 토큰이'o'이므로'foo * '라고 말할 수 없으므로'(foo) *'라고 말해야합니다. – maerics