2012-12-14 7 views
0

루비 1.9.2정규 표현식 내가 사용

string = "asufasu isaubfusabiu safbsua fbisaufb sa {{hello}} uasdhfa s asuibfisubibas {{manish}} erieroi" 

지금은 올 것이다 {{anyword}}

얼마나 많은 을 찾아야하고 중괄호를 사용하십시오.

Regexp

을 읽은 후 나는

/{{[a-z]}}/.match(string) 

를 사용하고 있지만, 전무 매번 ​​돌아갑니다.

string.scan(/{{[a-z]*}}/) 
=> ["{{hello}}", "{{manish}}"] 

:

답변

3

당신은 {의 내부 문자의 수와 일치하도록 지시하는 [a-z] 패턴에 *을 apend, 다음 문자열에서 일치하는 항목을 모두 얻을 수 scan를 사용할 필요가 Rubular는 incredib 수 있습니다

string.scan(/{{[a-z]*}}/).size 
=> 2 
+1

좋은 답변입니다. 대문자와 소문자가 일치해야한다면'[a-zA-Z]'가 필요하다는 것을 덧붙이고 싶습니다. 건배! –

+0

thx 얘들 아 :) u both r super :) –

+1

@ sean-hill Thanks! 그리고 나는'[a-zA-Z]'가 아마 더 나을 것이라는 점에 동의합니다, 저는 방금 소문자였던 예에 대한 답을 기반으로했습니다. –

2

정규 표현식이 일치하는 웹 응용 프로그램 : 일치가 발생하는 횟수를 얻으려면, 단지 결과 배열의 크기를 가지고 실시간 정규 표현식 구문 분석에 유용한 도구입니다.

+0

thx 이것은 훌륭합니다 :) –