2009-12-10 7 views
0

나는 세미콜론에서 문자열을 분리하여 값의 해시를 생성하는 정규 표현식을 다음 한이 :URL 문자열을 무시하도록 정규식을 얻는 방법은 무엇입니까?

Hash["photo:chase jarvis".scan(/(.*)\:(.*)/)] 
// {'photo' => 'chase jarvis'} 

그러나 나는 또한 그것을 URL의 문자열에 있고 인식 할 수 있도록하려면 IT는 URL 부분을 유지 있도록 물론

Hash["photo:http://www.chasejarvis.com".scan(/(.*)\:(.*)/)] 
// Results in {'photo:http' => '//www.chasejarvis.com'} 

내가 원하는 : : 해시 즉 가치 측면에서

Hash["photo:chase jarvis".scan(/ ... /)] 
// {'photo' => 'http://www.chasejarvis.com'} 
+0

원하는 것을 의미하지 않습니까? 해시 [ "사진 : http : //www.chasejarvis.com".scan (/ ... /)] // 결과가 { 'photo'=> ' http://www.chasejarvis.com '} – asgerhallas

답변

2

첫 번째 콜론 만 일치 시키려면 (.*)\:(.*)([^:]*)\:(.*)으로 변경할 수 있습니다.

또는 욕심 많은 성냥으로 만들 수도 있지만 "콜론이 아닙니다"라고 말하는 것이 더 좋습니다.

0

어떻게 사람의 가족 이름과 이름을 알아낼 수 있습니까?

해결 방법이 없으면 chasejarvis에서 chasejarvis으로 변경하는 것은 불가능할 수 있습니다.

프로젝트에서 이미 모든 사람의 이름을 알고 있습니까? 아무도 charvisdjarvis과 같은 중간 이름의 첫 글자를 가지고 있지 않습니다 (이름이 "Charvis D. Jarvis"라고 가정).

관련 문제