Регулярное выражение соответствует только первому или второму результату из таблицы HTML

Я использую javascript-скрипт регулярного выражения в приложении. Я пытаюсь получить только первое значение или второе значение из каждой таблицы, но не работаю.

   <table>
      <td class = "bar">
        <td class = "center">hello1</td>
        <td class = "center">hello2</td>
        <td class = "center">hello3</td>
     </td>
   </table>

   <table>
     <td class = "bar">
       <td class = "center">hello1</td>
       <td class = "center">hello2</td>
       <td class = "center">hello3</td>
     </td>
   </table>

мое регулярное выражение кода: /(?<=<td class=\"center\">).*?(?=</td>)/gi

этот код выбирает все значения Hello. Я хочу просто выбрать Hello1 из первой таблицы td и второй таблицы td. Я удаляю global, но даю только первый td из первой таблицы.

значение приветствия является динамическим, а не фиксированным.

Регулярное выражение соответствует только первому или второму результату из таблицы HTML

В вашем примере HTML нет тегов <tr>. Можете ли вы также уточнить, какие значения вы хотите вернуть? Например. назовите их все «hello1», «hello2» и т. д. и скажите: «Я ожидаю, что будут возвращены «hello1» и «hello4»

dezfowler 10.04.2022 14:21

извини, братан, я имею в виду тег <td

devlopper john 10.04.2022 14:26

Я отредактировал значение, значения являются динамическим извлечением из HTML

devlopper john 10.04.2022 14:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать регулярное выражение что-то как это, которое извлекает текст, который вы ожидаете...

regular expression run results

По сути, соответствие тегам путем исключения символов <> внутри тега.

Однако я думаю, что более простой и менее подверженный ошибкам способ сделать это в JavaScript и DOM - это использовать вместо этого querySelectorAll, например...

let c = document.querySelectorAll('td:nth-of-type(2)');

console.info(Array.from(c).map(i => i.innerText));
   <table>
      <td class = "bar">
        <td class = "center">hello1</td>
        <td class = "center">hello2</td>
        <td class = "center">hello3</td>
     </td>
   </table>

   <table>
     <td class = "bar">
       <td class = "center">hello1</td>
       <td class = "center">hello2</td>
       <td class = "center">hello3</td>
     </td>
   </table>

спасибо, брат, но если я хочу выбрать только hello2 из каждой таблицы

devlopper john 10.04.2022 15:56

С querySelectorAll вы просто меняете его на td:nth-of-type(3) вместо того, чтобы получать узлы «hello2». С регулярным выражением сложнее, и, как я уже сказал, я бы рекомендовал использовать querySelectorAll.

dezfowler 10.04.2022 16:41

вы видите эту проблему: stackoverflow.com/questions/71818492/…

devlopper john 10.04.2022 18:51

Другие вопросы по теме