python
  • regex
  • 2011-11-15 3 views 2 likes 
    2

    정규 표현식을 사용하여 제한 사항에 맞는 문자열을 검색하고 있습니다. 예를 들어, "HHHHLLLHHHHHLLLLL는"I 문자 H의 총 선두로부터 난 H 동일 또는 8 이상의 선두로부터 검색 할 {8,}를 이용한 정규 표현식을 구성하려고 이상의 제정규 표현식을 사용하여 특정 횟수의 문자열을 검색하는 방법은 무엇입니까?

    보다 스트링을 찾을. 그러나, 그것은 작동하지 않는 것 같습니다.

    Str1 = '"HHHHLLLHHHHHLLLLL"' 
    m = re.search(r'regex', Str1).group(0) 
    

    아무에게 나 제안 할 수 있습니까? 감사.

    답변

    5

    정규식을 사용할 필요가 없습니다.

    Str1 = '"HHHHLLLHHHHHLLLLL"' 
    if Str1.count("H") >= 8 : print "match" 
    
    +0

    @TimPietzcker Misread. 감사. – FailedDev

    +0

    좋은 아이디어. 나는 또한 정규식을 사용하지 않을 것이다. +1. 하지만 어쩌면 그녀가 필요로하는 이유가 있을까요? –

    +0

    @ TimPietzcker 글쎄, 정규식 해결책에 대한 정규 표현식이 과잉이라고 생각한다. :) – FailedDev

    5
    re.search('(?:H[^H]*){8}', str1) 
    

    문자열에 적어도이 있으면 일치하는 항목을 찾습니다.

    하지만 정규식에는 그다지 적합하지 않습니다. FailedDev의 해결책은 일 것입니다.이 빠르며 이해하기가 더 쉽습니다. 그래서 당신이 정규 표현식을 사용하는 또 다른 좋은 이유가 없다면, 그의 제안과 함께 잘 가십시오.

    +0

    그래도이 정규식을 작성하는 방법에 대해 궁금합니다. 그걸 보여줘서 고마워. – AnneS

    관련 문제