كيف أحصل على محتوى من جدول باستخدام معرفه باستخدام regex؟

StackOverflow https://stackoverflow.com/questions/2085110

سؤال

أحتاج إلى فرز سلسلة HTML حتى أحصل على المحتوى الذي أحتاجه. الآن أحتاج إلى حلقة من خلال صفوف الجدول في جدول يحتوي على معرف. كيف أفعل هذا مع regex؟

هل كانت مفيدة؟

المحلول

لا يمكن استخدام التعبيرات العادية لتحليل HTML ؛ HTML ليست منتظمة. استخدم مكتبة HTML Parser المناسبة.

نصائح أخرى

يعتمد ذلك على مدى منتظم نص HTML. على سبيل المثال ، بالنظر إلى هذا الجدول:

<table>
  <tr><td>1</td><td>Apple</td></tr>
  <tr><td>2</td><td>Ball</td></tr>
  <tr><td>3</td><td>Cookie</td></tr>
<table>

يجد تعبير Regex التالي المعرفات في العمود الأول:

(?<=<tr><td>).*?(?=</td>)

إذا قمت بتشغيل الصفحة من خلال HTML-Parser مثل BeautifulSoup ، فيمكنك أن تكون موجودًا بحيث يكون لهذا النوع من Regex فرصة. ولكن إذا كنت تقوم بتحليل HTML على أي حال ...

جرب هذا

Dim HTML As String = contentText
Dim options As RegexOptions = RegexOptions.IgnoreCase Or RegexOptions.Singleline
Dim regex As Regex = New Regex("<table[^>]*>(.*)</table>", options)
Dim match As MatchCollection = regex.Matches(HTML)
Dim sb As StringBuilder = New StringBuilder
For Each items As Match In match
    sb.Append(items.ToString & vbLf)
Next
TextBox.Text = sb.ToString
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top