2017-12-14 15 views
-1

경로에서 파일 이름과 일치하는 정규식을 형성하려고합니다. 여기 정규식을 형성 할 수 없습니다

내 정규식 \b[^/]\w+[^.]

이 어떤 문제가되어 내 URL을 "../assets/sounds/toucObsSound_.mp3"여기

과의 예입니다? 그것은 자산 같은 모든 문자가 touchObsSound

정규식 설명

소홀히/당신이 찾을 때까지 모든 것을 일치 소리가 일치합니다. 그리고 방치하다.

여기 제가 실수를하고 있다고 생각합니다. 누군가 제발 도와 줘?

+0

경로가 아닌 URL처럼 보입니다. 어쨌든 정규식을 사용하는 이유는 무엇입니까? –

+0

언어 태그를 추가하십시오. 중요한거야. –

+0

죄송합니다. 죄송합니다. 죄송합니다. 실수였습니다. 경로입니다. 그냥 'touchObsSound' 확장자가없는 파일 이름 – Rehan

답변

1

다음과 같은 솔루션을 사용할 수 있습니다 :

[^\/.]+(?=\.[^\/]*$) 
,691을

regex demo을 참조하십시오 (/은 항상 이스케이프 할 필요가 없으며, 정규식을 사용하는 위치와 방법에 따라 다릅니다).

세부

  • [^\/.]+ -받는 사람까지 /보다 . 다음 0+ 문자 서로를 필요로하는 positive lookahead - / 이외의 1 개 이상의 문자와 .
  • (?=\.[^\/]*$) 일치하는 negated character class 문자열의 끝 ($)은 현재 위치의 오른쪽에 있습니다.
0

이 트릭

/([^./]+)\.mp3$ 

그것은 라인의 끝에서 마지막 /과 .MP3 사이에 일치 것을해야한다. 제거해야하는 경우

https://regex101.com/r/Er6kGQ/1

_ 당신은 사용할 수 있습니다 여기에

필요에 따라 조정할 함께 놀 수있는 좋은 방법입니다 toucObsSound_

이 경우 그건 당신이 요구 한 것입니다 이 :

/([^./]+)\_.mp3$ 
+0

설명해 주시겠습니까? – Rehan