正则表达式问题

yaray 2006-06-28 12:20:24

// 字符串的中值 Linda 为变量
var content1 = "你好, <label style='background: blue; color: white'>Linda</label>";
var content2 = "你好, Linda";

求 content1 与 content2 互相转换正则表达式(为对应的字符串 着色/取消着色):
content2 --> content1
content1 --> content2

以下是本人写的(有错误,但不知道错在何处):
var key = "Linda";
var reg1 = eval("/^.*("+ key +").*$/");
var reg2 = /^<label style=\'background: blue; color: white\'>(.*)<\/label>$/;

content2.replace(reg1, "<label style='background: blue; color: white'>$1</label>");
content1.replace(reg2, "$1");

先感谢大家的回答!!
...全文
239 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
indexroot 2006-06-28
  • 打赏
  • 举报
回复
<script>
var content1 = "你好, <label style='background: blue; color: white'>Linda</label>";
var content2 = "你好, Linda";
var key = "Linda";
var reg1 = eval("/("+ key +")/");
var reg2 = /<label [^>]*?>(.*)<\/label>/;

alert(content2.replace(reg1, "<label style='background: blue; color: white'>$1</label>"));
alert(content1.replace(reg2, "$1"));
</script>
yaray 2006-06-28
  • 打赏
  • 举报
回复
以下是完成的正确答案:

var content1 = "你好, <label style='background: blue; color: white'>Linda</label>";
var content2 = "你好, Linda";
var key = "Linda";
var reg1 = new RegExp("("+ key +")", "i");
var reg2 = /<\/?label[^<>]*>/gi;

alert(content2.replace(reg1, "<label style='background: blue; color: white'>$1</label>"));
alert(content1.replace(reg2, ""));//空字符串
yaray 2006-06-28
  • 打赏
  • 举报
回复
还是梅老大厉害!!

love01px(JAVA CUP) 的答案只能 content2 --> content1, 不能反过来.
meizz 2006-06-28
  • 打赏
  • 举报
回复
var reg1 = new RegExp("("+ key +")", "i");
var reg2 = /<\/?label[^<>]*>/gi;

87,997

社区成员

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

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