正则表达式如何匹配单运算符号


<pre>
var test=4*5-36/2+3
</pre>

<javascript>a.js</javascript>


/*这是a.js*/
var testO=/+/,
tTwo=new RegExp('+', 'ig'),
tThree=/\+/,
tFour=new RegExp('/+', 'ig');
document.write(以上任意一个变量)//上边四个无论如何都表述错误。
/*
var tPre=document.getElementsByTagName('pre'),
text=tPre[0].innerHTML;
text=text.replace(上边4个任意一个通配符变量,'aaa');
tPre[0].innerHTML=text;
*/

在js中用通配符表达不了单个的 ‘加’‘减’‘乘’‘除’。
求大佬指点一下该怎么写才能匹配上
...全文
520 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vincent丶丶 2019-04-04
  • 打赏
  • 举报
回复
var tPre = document.getElementsByTagName('pre') var text = tPre[0].innerText text = text.replace(/\+/, 'aaa') tPre[0].innerText = text
Vincent丶丶 2019-04-04
  • 打赏
  • 举报
回复
正则匹配字符需要用'\'将字符转义 var tPre = document.getElementsByTagName('pre') var text = tPre.innerText text = text.replace(/\+/, 'aaa') tPre.innerText = text
  • 打赏
  • 举报
回复
找到答案了,问题出在我未发出的一部分代码:
wordLight(innerHtml, tkey, tColor)
这个是我在网上找到的一个文字高亮的函数,参数分别是:arg1.文本内容;arg2.需替换的关键字;arg3.新的颜色。 这里的tkey如果用上'\+'的话,‘+’号确实能匹配上,原来的'+'同时被替换成'\+'。所以才会在这里提问题。 解决办法是:
wordLight(innerHtml, tkey, key, tColor)
参数分别是:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: arg1.文本内容;arg2.需替换的内容;arg3.对应查找的关键字;arg4.新的颜色。 替换内容,和搜索关键字分开就行了.
天际的海浪 2019-04-03
  • 打赏
  • 举报
回复
tThree=/\+/ 这个是正确的。 你的问题是 testO=/+/ tTwo=new RegExp('+', 'ig') 这两个正则表达式有语法错误,导致之后的代码都不会执行。去掉这两个正则表达式即可
天际的海浪 2019-04-03
  • 打赏
  • 举报
回复
tThree=/\+/ 这个可以

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧