を使用たとえば抽出括弧データIは、文字列と文字列に隣接するセルに格納するから(括弧を含む)括弧データを抽出小さなサブ有する正規表現
Sub parens()
Dim s As String, i As Long
Dim c As Collection
Set c = New Collection
s = ActiveCell.Value
ary = Split(s, ")")
For i = LBound(ary) To UBound(ary) - 1
bry = Split(ary(i), "(")
c.Add "(" & bry(1) & ")"
Next i
For i = 1 To c.Count
ActiveCell.Offset(0, i).NumberFormat = "@"
ActiveCell.Offset(0, i).Value = c.Item(i)
Next i
End Sub
を:
これをいくつかのRegexコードに置き換えようとしています。私は正規表現の専門家ではない。私は開いたかっこの後に任意の型の0個以上の文字が続いて閉じ括弧が続くパターンを作成したいと思います。 私が思いついた:
\((.+?)\)
私の現在の新しいコードは次のとおりです。
Sub qwerty2()
Dim inpt As String, outpt As String
Dim MColl As MatchCollection, temp2 As String
Dim regex As RegExp, L As Long
inpt = ActiveCell.Value
MsgBox inpt
Set regex = New RegExp
regex.Pattern = "\((.+?)\)"
Set MColl = regex.Execute(inpt)
MsgBox MColl.Count
temp2 = MColl(0).Value
MsgBox temp2
End Sub
コードは、少なくとも2つの問題があります。
- をそれだけで文字列の最初の試合を取得します。 (Mcoll.Countは常に1)
- 括弧の間にゼロ文字は認識されません。 (私はを考える。+?は、少なくとも一つの文字が必要です)
誰もが何か提案を持っています?デフォルトでは
ありがとう...............これらを試してみます............... –
もう一度おねがいします! .....................完璧! **説明にも感謝します!** –