复制代码如下:函数setcontent (str) {str=str。替换(//?[^]*/g,''];//移除html标记tr。值=字符串。替换(/[|] * n/g,' n ');//删除行尾的空白//str=str。替换(/ n [ s | |] * r/g,' n ');//删除多余的空行返回字符串;}测试中发现该代码无法过滤掉网页中的空格字符(即:)。于是我又修改了一遍:复制的代码如下:函数removehtmltag (str) {str=str。替换(//?[^]*/g,''];//移除html标记字符串=str。替换(/[|] * n/g,' n ');//删除行尾的空白//str=str。替换(/ n [ s | |] * r/g,' n ');//删除多余的空行str=str . replace(//ig ' ');//删除返回字符串;}嗯,我的要求已经满足了。现在我们来解释一下使用的三个正则表达式(需要注意的是,因为我刚接触,可能我的解释不正确,仅供参考):第一个是://?[] * /g在js中,正则表达式以“/”开头,后跟/g,表示全局模式,意思是匹配模式应用于整个字符串,而不是在第一次匹配后停止匹配。/?[] *这是单独解释的,其中第二个字符“”是用于转移以下“/”字符的转移字符。匹配其前面的0或1个字符。注意:并非所有软件都支持此元字符。所以/?它与html标记中的“/”格式或“”格式匹配。我们来谈谈[] *。[]是指:。
匹配一行的开头。例如,正则表达式when in可以匹配字符串的开头“When in the personal events”,但不能匹配“What and When in the”。意思是匹配以“当在”开头的单词。*表示匹配其前面的0个或更多字符。例如正则表达式。*表示可以匹配任意数量的字符,因此[] *表示匹配以外的字符。所以【】可以匹配的模式可以是这样的:div我需要单词/div我需要单词/p*前面的【】可以匹配下面的字符:div我需要单词/divp我需要单词/pbr/plus下面的单词可以匹配下面的字符:div我需要单词/divp我需要单词/pbr/就这样。(说了很多句之后,总觉得这个搭配有点啰嗦,但是不知道啰嗦在哪里。)第二个:/[ | ]*n/g:我也没看懂。第三种://ig:是直接查找字符,后一种/ig是不区分大小写的全局模式搜索。g代表全局,I代表不区分大小写。