2016-06-02 3 views
-2

db 확장자를 가진 파일을 일반 표현식으로 선택하려고합니다. 내 정규식 :정규 표현식 'is not invalid'

*.db 

아직 '*'정규 표현식을 시작할 수 없다는 오류가 나타 납니까? 그래서, * .exe와 같은 형식으로 입력 할 때마다 Windows 탐색기 검색 상자에서 .exe 확장자를 가진 모든 파일을 원한다고 가정 해 봅시다.
나는 boost :: regex를 사용하고있다.

+2

'* .db', ​​그것은 와일드 카드 패턴 정규식 패턴이 아니다. 0+ 문자와 일치 시키려면'. *'을 사용하십시오. 귀하의 경우에는 C 문자열에서 백 슬래시를 올바르게 이스케이프 처리하는 방법을 모르는 경우'^. * \. db $'(또는'^. * [.] db $)가 필요합니다. –

+0

@ WiktorStribiżew 안녕하세요, 당신의 대답에 감사드립니다. 하지만 사용자가 검색 상자에 정규 표현식을 입력 할 것으로 기대할 수는 없습니다. 사용자 *는 와일드 카드 패턴이 작동하기를 기대합니다. 와일드 카드 패턴을 정규식으로 변환하는 방법이 있습니까? –

+0

'*'를'. *','?'로'.'로 바꾸고, 다른 와일드 카드 서브 패턴을 처리하고, 특수 문자를 이스케이프 처리합니다. –

답변

1

나는 당신이 필요로하는 것이라고 생각 :

"(.*\\.db)" 

참조 : Click here