문제

CSS 파일의 첫 번째 주석 블록을 추출하고 싶습니다.

/*
author : name
uri : link
etc
*/

다른 의견을 추출하지 않고

/* header */
/* footer */

그래서 나는 이것을 시도했다 :

print re.findall(r'\/\*(.*)\*\/', cssText )

이것은 내가 필요한 블록을 제외한 다른 모든 의견을 주었다. 그래서 나는 이것을 더 정확하게 바꿨습니다.

print re.findall(r'\/\*\n(.*)^\*\/', cssText )

그리고 결과는 아무것도 아니었다 :

[]

제안이 있습니까? 감사 :-)

도움이 되었습니까?

해결책 3

당신은 이것을 할 수 있습니다 :

css = """
/*
author : name
uri : link
etc
*/

bla bla bla. Blah blah
x: 10;
color: red;

/* header */
/* footer */
"""

import re

pat = r'\/\*([\S\s]*?)\*\/'

print re.findall(pat, css)
print re.search(pat, css).group()

다른 팁

첫 번째 주석 만 필요하면 첫 번째 결과 만 사용할 수 있습니다.

print re.findall(r'\/\*(.*)\*\/', cssText )[0]

당신은 또한 사용할 수 있습니다 re.search 첫 번째 일치 발생을 검색하는 것은 다음과 같습니다.

print re.search(r'\/\*(.*)\*\/', cssText )

멀티 라인 문자열과 일치하면 만들어야합니다. 일치 n도 :

print re.findall(r'\/\*\n(.*?)\*\/', cssText, re.S)

보다:http://docs.python.org/2/library/re.html#re.s

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top