2012-01-16 3 views
0

나는 내가 이것을 가지고정규식은

을 word4 반환 word3 다른 하나를 반환 한 정규식을 원하는

word1_word2_word3_word4_word5 

_ 사이에 단어를 반환하는 정규식 싶습니다 _ 둘 사이에 단어를 얻을 수 있습니다 정규식이 _[^_]+_으로 시작하지만 깨지지 않았 음

+0

어떤 언어입니까? – miku

+0

@miku SQL Oracle –

+1

'word2'는 어떻게됩니까? 밑줄 사이에도 있습니다. –

답변

3

문자열을 "_"로 분리하고 인덱스 2와 3으로 청크에 액세스하는 것이 더 쉽고 원하는 작업 만 수행 할 수 있습니다.

+0

나는 오라클을 위해 그것을하고있다. –

+0

아, 전에 오라클 태그가 지정되지 않았다. – Flo

+0

오라클의 정규식에 익숙하지 않지만 "\ _word2 \ _"및 "\ _word4 \ _"를 반환한다고 생각합니다. 선행 및 후행 밑줄이없는 [^ _] +가 작동해야합니다. – Flo

0

이 정규식은 그 단어를 사로 잡을 것입니다 : 그것은 _위한 뒤에 모양을 사용하거나 시작하고, 앞서 _ 또는 종료의 모습입니다

(?<(^|_))[^_]+(?=(_|$)) 

.
참고 사항/look aheads는 앞뒤가 비싸지 않습니다. 즉 "너비가 없습니다".