0
내가 Rubular 나에 다음 식을 테스트 한 한에 Rublar을 다음하지하고 성공적으로 HTML의 코드 조각에 대해 일치 :레일/루비 정규 표현식
그러나Official Website<\/h3>\s*<p><a href="([^"]*)"
, 내가 루비의 표현을 실행할 때, 다음 코드를 사용하여 일치하는 항목을 반환하지 않습니다. 나는 그것을 "Official \ s * Website"로 축소했으며, 그 내용과 일치하지만 더 이상은 없습니다.
Rubular를 추적하도록 Ruby/Rails를 구성하기 위해 설정해야하는 추가 옵션이 있습니까?
matches = sidebar.match(/Official\s*Website<\/h3>\s*<p><a href="([^"]*)"/)
if matches.nil?
puts "no matches"
else
puts "matches"
end
이것은 내가에 일치하고있어 조각의 관련 부분입니다 :
<h3>Official Website</h3><p><a href="http://website.com" target="_blank">website.com</a></p>
일치하는 스 니펫은 무엇입니까? – phoet
정규식을 사용하여 HTML을 구문 분석하는 대신 [nokogiri] (http://nokogiri.org/)를 항상 사용할 수 있습니다. HTML은 매우 느슨한 "표준"이므로 올바르게 구문 분석하기가 매우 어렵습니다. '' 태그에 다른 속성을 삽입하거나 잘못된 공간을 사용하면 정규 표현식을 망칠 것입니다. – tadman
@phoet - 질문에 스 니펫을 추가했습니다. – alpheus