首页 > 解决方案 > 如何提取html响应中第一段的内容 react native

问题描述

我正在做一个反应原生项目,我有一个 html 字符串 json api 响应。我正在使用 react-native-render-html 来渲染它,我可以获得所有段落并应用特定的东西,如行数等。但是,我只想获取响应中的第一段,例如 text1。

str response='<p class="text">text1</p><p>text2</p><p>text3</p>';

or

str response='<p>text1</p><p>text2</p><p>text3</p>';

如果<p></p>一开始有空文本,我想忽略它并选择下一个:

str response='<p></p><p class="text">text1</p><p>text2</p><p>text3</p>';

是否可以编写正则表达式来仅获取第一段的内容 text1 ?

标签: javascriptreact-native

解决方案


以下正则表达式应该可以解决您的问题:

const regex = /<p(?:\sclass="[^"]+")?>([^(?:<\/p)]+)<\/p>/i;
const str = '<p>text1</p><p>text2</p><p>text3</p>';

console.log(str.match(regex)[1]);

推荐阅读