마지막 유효한 괄호 사이의 텍스트에 대한 정규식

토니

다음 텍스트에 정규식을 사용해야합니다. 괄호는 중첩되지 않습니다.

{ ... bla ... {text} jdjdj ... { kdkdkdkd aaa { abc }

내가 사용하면 \{(.*?)\}두 그룹이 있습니다.

... bla ... {text
kdkdkdkd aaa { abc

하지만 난 필요해

text
abc

이러한 Regex를 Java로 작성할 수 있습니까?

편집 : 실제적으로 괄호 있습니다 @{}@~enc~

실제 문자열 :

@{ ... bla ... @{text}@~enc~ jdjdj ... @{ kdkdkdkd aaa @{ abc }@~enc~
Wiktor Stribiżew

사례 1. 단일 문자 구분 기호

부정 문자 클래스 를 사용해야합니다 [^{}].

\{([^{}]*)}

[^{}]문자 클래스는 임의의 문자 만 일치 {}.

자바 데모 :

String s = "{ ... bla ... {text} jdjdj ... { kdkdkdkd aaa { abc }";
Pattern pattern = Pattern.compile("\\{([^{}]*)}");
Matcher matcher = pattern.matcher(s);
while (matcher.find()){
    System.out.println(matcher.group(1).trim()); 
} 

String#trim()캡처에서 후행 / 선행 공백을 제거 하는 사용할 수 있습니다 .

사례 2. 다중 문자 구분 기호

여러 문자 구분 기호 사이의 텍스트를 일치 시키려면 강화 된 탐욕스러운 토큰을 사용할 수 있습니다 .

Pattern pattern = Pattern.compile("(?s)@\\{((?:(?!@\\{|}@~enc~).)*)}@~enc~");
                                            ^^^^^^^^^^^^^^^^^^^^^^

다른 데모를 참조하십시오 . (?s)수정 (설정과 동일 Pattern.DOTALL플래그)을 만들어 .도 일치 뉴 라인.

NB : {Java regex 에서 기호 를 이스케이프하는 것을 잊지 마십시오 }. 이스케이프 할 필요가 없습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

문자열의 마지막 두 괄호 사이의 모든 대문자에 대한 정규식

대괄호 사이의 텍스트와 세미콜론 사이의 텍스트에 대한 정규식

대괄호 사이의 마지막 숫자를 얻기위한 다차원 입력 문자열 이름에 대한 정규식

이중 대괄호 사이의 텍스트에 대한 정규식(하이픈 사이는 아님)

대괄호 사이의 단어 배열에 대한 정규식

데이터에 대괄호가 포함 된 경우 첫 번째 (및 마지막) 사이의 데이터를 추출하기위한 정규식 일치?

중괄호 사이의 여러 일치에 대한 정규식

중괄호에 대한 정규식 Java의 중괄호 ({n})

SQL 스크립트 SSMS의 정규식 일치 마지막 대괄호

대괄호와 괄호 사이의 텍스트 구문 분석을위한 정규식

JavaScript의 유효한 호스트:포트 형식에 대한 정규식

대괄호 안의 특정 ID에 대한 정규식

R의 사각형 괄호에 대한 정규식

asp.net의 텍스트 상자에 대한 상호 배타적 인 정규식 유효성 검사기

대괄호 안의 특수 문자에 대한 정규식

전화 번호에 대한 정규식 유효성 검사

두 텍스트 사이의 텍스트에 대한 정규식

")"일치 괄호에 대한 정규식

Notepad ++ 검색 및 바꾸기에서 괄호 사이의 텍스트를 제외한 정규식

식이 대괄호 유효한지 확인하는 C #

중괄호에 대한 R의 재귀 정규식

괄호 안의 두 번째 숫자에 대한 정규식

이중 중괄호에 대한 Java 정규식 패턴

마지막 대괄호와 쌍을 이루는 대괄호 사이의 문자열에서 텍스트 추출

규칙 집합에 대한 정규식 암호 유효성 검사

대괄호 사이의 간단한 정규식

정규식 캡처 마지막 4 개의 동일한 번호

마지막 업데이트 파일에 대한 정규식 설명

"마지막 / 이후", "가능한 이전 ?", "마지막 32자"에 대한 정규식?

TOP 리스트

  1. 1

    셀레늄의 모델 대화 상자에서 텍스트를 추출하는 방법은 무엇입니까?

  2. 2

    Blazor 0.9.0 및 ASP.NET Core 3 미리보기 4를 사용한 JWT 인증

  3. 3

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  4. 4

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  5. 5

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  6. 6

    오류 : MSB4803 : MSBuild의 .NET Core 버전에서 "ResolveComReference"작업이 지원되지 않습니다.

  7. 7

    R에서 Excel로 내보낼 때 CET / CEST 시간 이동이 삭제됨

  8. 8

    node.js + postgres : "$ 1"또는 그 근처에서 구문 오류

  9. 9

    확대 후 하이 차트에서 Y 축이 잘못 정렬 됨

  10. 10

    EPPlus에서 행 높이를 설정할 때 이상한 동작

  11. 11

    Ionic 2 로더가 적시에 표시되지 않음

  12. 12

    MS Access 부분 일치 2 테이블

  13. 13

    EPPlus에서 병합 된 셀의 행 높이 자동 맞춤

  14. 14

    ExecuteNonQuery- 연결 속성이 초기화되지 않았습니다.

  15. 15

    ResponseEntity를 사용하고 InputStream이 닫히는 지 확인하는 적절한 스트리밍 방법

  16. 16

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  17. 17

    오류 : "const wchar_t *"유형의 인수가 "WCHAR *"유형의 매개 변수와 호환되지 않습니다.

  18. 18

    Java에서 이미지를 2 색으로 변환

  19. 19

    overflow-y를 사용할 때 스크롤 버벅 거림 줄이기 : scroll;

  20. 20

    Java에서 Apache POI를 사용하여 테이블 크기 및 간격을 단어로 설정하는 방법

  21. 21

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

뜨겁다태그

보관