8
나는 정규식으로 문자열을 구문 분석하기 위해 액세스 VBA를 사용하고 있습니다.vba 긍정적 인 lookahead 너무 욕심이
regexSearch("^.+(?=[ _-]+mp)", "153 - MP 13.61 to MP 17.65")
내가 얻을 것으로 기대 해요 : : 나는 그것을 테스트 할 때
Function regexSearch(pattern As String, source As String) As String
Dim re As RegExp
Dim matches As MatchCollection
Dim match As match
Set re = New RegExp
re.IgnoreCase = True
re.pattern = pattern
Set matches = re.Execute(source)
If matches.Count > 0 Then
regexSearch = matches(0).Value
Else
regexSearch = ""
End If
End Function
: 여기 내 정규 표현식 기능의
153
이 첫 번째 인스턴스의 사이의 문자 만 있기 때문에 'MP'는 미리보기에 지정된 클래스에있는 것입니다.
하지만 내 실제 리턴 값은 다음과 같습니다
153 - MP 13.61 to
는 왜 두 번째 'MP'까지 캡처?
해결 된 문제입니다. – sigil
그 소식을 듣기 좋습니다. –
+1 멋지게 완료되었습니다. – brettdj