2012-03-23 1 views
1

하이픈 넣은 단어 앞뒤에 공백을 어떻게 찾을 수 있습니까? 당신은 lookahead and lookbehind을 사용할 수 있습니다 "내 하이픈 단어"와 "하이픈 단어 예"정규식 : 하이픈 넣은 단어 앞뒤에 공백 찾기

+0

단어를 희생 할 준비가 되셨습니까? Ctrl-Alt- Del_ 또는 _politico-military_? 내 말은, 다른 조건없이 적어도 하나의 하이픈이있는 단어를 하이픈으로 연결했다고 생각하십니까? –

+0

왜 - 하이픈이있는 단어를 선택 하시겠습니까? 그렇지 않다면 지원 언어는 어떤 언어입니까? – Aprillion

+0

당신은 무엇을하고 싶습니까? 그 이유는 무엇입니까? 왜 당신은'(\ s *) (your-word-here) (\ s *)'와 일치하고 그룹 1과 그룹 3이 양의 길이를 가지는지 보지 않겠습니까? 둘러보기가 필요하지 않습니다. – tchrist

답변

2

: 즉 내가 사이의 공간이 필요

"이것은 내 하이픈 단어 예제 테스트입니다."

공간하기 전에 :

\s(?=([^\s]+-[^\s]+)) 

공간 후 : 방금 하이픈 단어 자체를 얻을 수 할 경우

(?<=([^\s]+-[^\s]+))\s 
+0

+1하지만 다른 모든 사람들이 무한 길이의 lookbehind를 지원하지 않기 때문에 .net에서만 작동합니다. – stema

+0

@stema 네가 맞다. 닷넷은 최근에 내가 사용 해왔다 "regexp flavor"이다. Javascript 나 Java가 비슷한 기능을 제공하는지 잘 모르겠습니다. 몇 년 동안이 기능을 사용하지 못했습니다. – dasblinkenlight

+0

javascript가 lookbehind를 지원하지 않는다는 것을 알고 싶다면 http://www.regular-expressions.info/javascript.html을 참조하십시오 ... – Aprillion

1

전체 일치를 검색 (예 : 그룹 0을 캡처) :

\w+(?:-\w+)+