Я использую 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 из первой таблицы.
значение приветствия является динамическим, а не фиксированным.
извини, братан, я имею в виду тег <td
Я отредактировал значение, значения являются динамическим извлечением из HTML
Вы можете сделать регулярное выражение что-то как это, которое извлекает текст, который вы ожидаете...
По сути, соответствие тегам путем исключения символов <>
внутри тега.
Однако я думаю, что более простой и менее подверженный ошибкам способ сделать это в 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 из каждой таблицы
С querySelectorAll вы просто меняете его на td:nth-of-type(3)
вместо того, чтобы получать узлы «hello2». С регулярным выражением сложнее, и, как я уже сказал, я бы рекомендовал использовать querySelectorAll.
вы видите эту проблему: stackoverflow.com/questions/71818492/…
В вашем примере HTML нет тегов
<tr>
. Можете ли вы также уточнить, какие значения вы хотите вернуть? Например. назовите их все «hello1», «hello2» и т. д. и скажите: «Я ожидаю, что будут возвращены «hello1» и «hello4»