js正则表达式 我想要让‘<p>1</p><p>2[色]</p><p>2[色]</p><p>1</p>’用正则表达式转出‘1\n2[色]\n2[色]\n1’
时间: 2024-09-20 12:12:18 浏览: 34
C#使用正则表达式过滤html标签
在JavaScript中,你可以使用正则表达式配合`replace()`函数来替换HTML字符串中的内容。针对你的需求,你需要匹配每个独立的`<p>`标签内的文本,并保留`[色]`部分。这里是一个简单的示例:
```javascript
const input = '<p>1</p><p>2[色]</p><p>2[色]</p><p>1</p>';
const pattern = /<p>(.*?)<\/p>/g; // 匹配开始和结束的<p>标签,星号(*)表示任意字符,非贪婪模式
const replacement = '$1\n$&'; // $1捕获第一个组的内容(即标签内的文本),$&代表整个匹配项
const output = input.replace(pattern, replacement);
console.log(output); // 输出 '1\n2[色]\n2[色]\n1'
```
这个正则表达式会找到所有`<p>`和`</p>`之间的内容,并在它们之间插入换行符`\n`。注意,这个正则表达式假设输入的HTML结构是正确的,如果存在嵌套或其他特殊情况,可能需要更复杂的解析。
阅读全文