Итак, это проблема:Regex подходит только для первого появления?
Код:
Dim findtext As String = "(?<=<hello>)(.*?)(?=</hello>)"
Dim myregex As String = TextBox1.Text
Dim doregex As MatchCollection = Regex.Matches(myregex, findtext)
MsgBox(doregex(0).ToString)
TextBox1:
<hello>1</hello>
<hello>2</hello>
<hello>3</hello>
Так что, когда я запускаю код, он показывает MsgBox с 1
. Почему только 1? Почему не 2 и 3?
Я добавил ?
в .*
, но он все тот же.
вам нужно перебрать объект соответствия, чтобы найти все соответствия – rock321987
Лучше использовать его с LINQ, все становится намного проще. –
LINQ - это дерьмо, и @Xen уже сделал лучшее решение, не нужно его ненавидеть и предлагать мне, что делать, потому что вы не ответили на лучшее решение: P –