2013-09-04 2 views
0

내가 선택하는 것을 시도하고 사용하는 선택 : 콘텐츠에있다 리 노드를 단어 "(SCIAN"Clojure의 Enlive : 정규식

<li>...</li> 
<li class=""> 
       Conception de systèmes informatiques et services connexes (SCIAN 541510) 
      </li> 

<li>...</li> 

나는이 시도 실패했습니다

(html/select 
    fetched 
    [[:li (html/has [(html/re-pred #"\w*SCIAN\b")])]]))) 

는 당신의 도움을 주셔서 감사합니다

주의를! https://groups.google.com/forum/#!topic/enlive-clj/thlhc5zBRUw

: 내가 잘못 뭔가를 할 수 있도록 내가 성공하지 않고 사용에게 이러한 패턴을 시도했습니다 16,

답변

1

내가 프랑스어 악센트와 함께 정규식이 문제가 발생 생각 : 그 일을하려면

(def s "è") 
    (def r #"\w") 
    (re-matches r s) 
    ;;; => nil 
    (def s "e") 
    (re-matches r s) 
    ;;; => "e" 
+0

을 자네 말이 맞아! 나는 해결책을 발견했다 :'(re-matches # "\ p {L} +" "è")' – leontalbot

+0

... 아직 정규 표현식에 능숙하지는 않지만 제대로 된 해결책을 얻을 수 없다. 올바른 정규식 선택기를 사용하려면 무엇이겠습니까? – leontalbot

1

을, 우리가 실제로 정규식을 사용할 필요가 없습니다 :

(html/select 
    fetched 
    [[:li (html/pred #(.contains (html/text %) "SCIAN"))]])