나는 내 인생을 여러 번 둘러 보는 방법을 알아낼 수 없습니다. 해시 다음에 오는 숫자의 가변 개수를 일치 시키려고하지만 어떤 것이 앞에 나오거나 다른 것이 따르는 경우가 아니라고 가정 해보십시오. 예를 들어, 다음에서 # 123 또는 # 12345와 일치시키고 싶습니다. lookbehinds 괜찮아 보이지만 lookaheads하지 않습니다. 나는 아이디어가 없어.여러 부정적인 표제 어설 션
matches = ["#123", "This is #12345",
# But not
"bad #123", "No match #12345", "This is #123-ubuntu",
"This is #123 0x08"]
pat = '(?<!bad)(?<!No match)(#[0-9]+)(?! 0x0)(?!-ubuntu)'
for i in matches:
print i, re.search(pat, i)
파이썬're'에는 소유량 한정어가 없습니다. – nhahtdh
@nhahtdh가 인터넷 검색을하고 실현하고 편집했습니다. 어쨌든 고마워! :) –
나는'regex' 패키지가 가지고 있다고 믿지만 (그것은 소유량 한정자보다 훨씬 더 애호가를 지원한다). – nhahtdh