2012-06-25 2 views
-4

가능한 중복 :
Perfect way to write a gsub for a regex match?어떻게이 gsub 정규식을 작성할 수 있습니까?

내가 정규식 일치를위한 GSUB을 쓰기 위해 노력하고 있어요,하지만 난이 일을 좀 더 완벽한 방법이 상상한다.

내 식 :

ref.gsub(ref.match(/settings(.*)/)[1], '') 

나는이 settings/animals을, 그냥 settings를 반환 할 수 있도록.

하지만 settings이 null이면 어떻게 될까요? 내 [1]이 예상대로 실패합니다.

그렇다면 가끔 settings이 일치하지 않는다고 가정하고 위의 내용을 어떻게 작성할 수 있습니까?

답변

0

/(settings|)(.*)/을 사용하면 첫 번째 그룹은 "설정" 또는 빈 문자열 (없는 경우)을 반환합니다.

puts 'settings/123'.match(/(settings|)(.*)/)[1]; 
puts 'Xettings/123'.match(/(settings|)(.*)/)[1]; 
+0

이것은 현재 원하는 것 같습니다. :) – Ashe

관련 문제