2012-07-15 4 views
2

예를 들어, 대괄호 안에있는 일부 텍스트를 선택할 수 있기를 원합니다. 동일한 패턴을 내부에 포함 할 수있는 패턴을 선택하는 방법은 무엇입니까?

의가 있다고 가정 해 봅시다

, 우리는 텍스트 다음 한 중첩 된 괄호의 수에 대한

(sample (or, may be, not)) 

(with keyboard) 

을 선택 할 사용해야합니까 무엇 정규식 패턴

This is a (sample (or, may be, not)) text, which I write in a browser(with keyboard) 

?

답변

3

정규식의 알려진 제한 사항 중 하나는 정규식이 중첩을 처리 할 수 ​​없다는 것입니다. 그래서 예를 들면

a nb n은 정규식과 일치 할 수 없습니다.

제대로 괄호로 묶은 문자열을 정규식과 일치시킬 수 없습니다.

보통 나를 위해 재귀 문맥 자유 문법 구현 어떤 종류의

0
(?<Depth>\() 
(
(?(Depth)([^\(\)]+)) 
| 
(?<Depth>\() 
| 
(?<-Depth>\)) 
)* 
(?(Depth)(?!)) 

작품 좋은 것입니다.

관련 문제