0

たとえば、このテキストのテキストから何かを抽出したい:

r_w + [DPTPSRMX] < psrmmn_w und B_zepsrpl

この例のコンテンツを抽出したい[]: DPTPSRMX

私はこのコードをvbaで書きました:

Dim regklammer As New RegExp
Dim regdcm As New RegExp

Dim matchgklammer As MatchCollection
Dim matchgdcm As MatchCollection

regklammer.Pattern = "\[+\w*\]"
regklammer.Global = True

regdcm.Pattern = "\w*"
'regdcm.Global = True

Set matchgklammer = regklammer.Execute(Pruefhinweis.Value)

For K = 0 To matchgklammer.Count - 1
 MsgBox matchgklammer.Item(K)
  Set matchgdcm = regdcm.Execute(Trim(matchgklammer.Item(K)))
  MsgBox matchgdcm.Item(0)
Next K

しかし、matchdcm.count は 4 で、3 つの空白 + を返しますDPTPSRMX。私のコードが空白を見つける理由と、この問題を解決する方法を教えてください。

4

2 に答える 2

1

the * character in a regex matches zero or more of the preceding pattern. Try usin + instead to match 1 or more.

See http://msdn.microsoft.com/en-us/library/1400241x.aspx

于 2013-09-06T08:16:15.367 に答える