[英]Javascript Regular Expression for removing text
我想使用JavaScript替換html標記中的字符串。 因此,在此示例中,我想刪除<table
和<tbody>
之間的所有內容。 我正在使用replace函數和一個正則表達式。 正則表達式構造在某處一定是錯誤的。 這是我目前擁有的:
str = str.replace(/([<table]\w*\W*[<tbody>])/, "");
我所看到的正則表達式邏輯是這樣的(在錯誤的地方糾正我):
我正在尋找<table
的字符串匹配項,因此我將該字符串放在方括號中,因為我希望它與編寫的字符串完全匹配。
然后,我放置一個\\ w * \\ W *,因為我希望后面跟隨一個或多個字母數字和非字母數字字符。
因此結果與我預期的不同。 我的字符串中沒有其他<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>
\\w*
和\\W*
不匹配空格。 這是解決方案:/< /<\\s*table(?:.|\\s)*<\\s*tbody\\s*>/i
:.| /<\\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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.