質問: RetStr End Function ' 012 34 567 89 012 34 567 89 0 12 mySTR="IS1" & vbCrLf & "is2" & vbCrLf & "IS3" & vbCrLf & "is4" & vbCrLf & "5" & vbCrLf msgbox(mySTR) msgbox(len(mySTR)) MsgBox(RegExpTest("is.", mySTR)) '????5を取り出す「改行の正規表現」の方法を教えて下さい。?????????????????????????????????????? MsgBox(RegExpTest("is."& vbCrLf, mySTR)) '--------------------------------------------------------------------------------------------- 'IS1 'is2 'IS3 'is4 '5 '--------------------------------------------------------------------------------------------- '23 '--------------------------------------------------------------------------------------------- '一致する文字列が見つかった位置は、0 です。一致した文字列は、IS1 です。 '一致する文字列が見つかった位置は、5 です。一致した文字列は、is2 です。 '一致する文字列が見つかった位置は、10 です。一致した文字列は、IS3 です。 '一致する文字列が見つかった位置は、15 です。一致した文字列は、is4 です。 ``` 1上記の関数は、改行に対応していますか? 2splitを使う方法しかありませんか? よろしくお願いします。
回答: > > 検索文字列の次の行を取り出す方法を教えて下さい。 > > > `Match.FirstIndex`、`Match.Value`を使われているようですが`Match.Length`もあります。 `Match.FirstIndex + Match.Length`が検索文字列の次の**文字**を指します。検索している正規表現パターンが`"is."& vbCrLf`と改行で終わっているため、実質的に次の**行**を指すことになります。