gpt4 book ai didi

用于删除文本的 Javascript 正则表达式

转载 作者:行者123 更新时间:2023-12-03 06:00:06 25 4
gpt4 key购买 nike

我想使用 JavaScript 替换 html 标记中的字符串。因此,在这个示例中,我想删除 <table 之间的所有内容。和<tbody> 。我正在使用替换函数和正则表达式。正则表达式的构造一定是在某个地方出错了。这是我目前拥有的:

str = str.replace(/([<table]\w*\W*[<tbody>])/, "");

我看到的正则表达式逻辑是这样的(错误的地方请纠正):

  1. 我正在寻找 <table 的字符串匹配项所以我将该字符串放在括号中,因为我希望它与所写的完全匹配。

  2. 然后我放置一个\w*\W* 因为我期望两者都有 1 个或多个后面跟随字母数字和非字母数字字符。

  3. 最后我 将“< tbody>”放在括号中,因为我期望这种格式 完全正确。

所以结果并不像我想象的那样。没有别的<tbody><table在我的字符串中,所以我不知道我做错了什么。

这就是我用任何内容替换字符之前字符串的样子。

"\n\t\t\t\t\t\t\n                                                <div>\n\t\t\t\t\t\t\t
<table id=\"gvStation_ctl19_gvExtRows\" style=\"border-collapse: collapse;\" border=\"1\" rules=\"all\" cellspacing=\"0\">
\n\t\t\t\t\t\t\t\t<tbody>

最佳答案

  1. 括号可以按任意顺序查找之间的任何字符,因此在这种情况下不需要它。请参阅http://www.w3schools.com/jsref/jsref_obj_regexp.asp .
  2. \w*\W*不匹配空格。

解决方案如下:/<\s*table(?:.|\s)*<\s*tbody\s*>/i

var str = '"\n\t\t\t\t\t\t\n < div>\n\t\t\t\t\t\t\t < table id=\"gvStation_ctl19_gvExtRows\" style=\"border-collapse: collapse;\" border=\"1\" rules=\"all\" cellspacing=\"0\"> \n\t\t\t\t\t\t\t\t< tbody>';

str = str.replace(/<\s*table(?:.|\s)*<\s*tbody\s*>/i, "");

alert(str);

关于用于删除文本的 Javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39781669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com