V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  rui6ye  ›  全部回复第 5 页 / 共 7 页
回复总数  127
1  2  3  4  5  6  7  
@codehz 解决了。灵感来源: https://github.com/zhangzhaoaaa/anyJavascript/blob/master/%E5%BC%A5%E8%A1%A5js%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%97%A0%E5%B9%B3%E8%A1%A1%E7%BB%84%E5%8A%9F%E8%83%BD.md

贴上我的代码:
<script>
var str = "{'{{{{{a}+1}+1}+1}+1}'==1?\"a{\":\"b}\"} 是 {'{{{{{a}+1}+1}+1}+1}'==1?\"a\":\"b\"} {a}";
getOutStr = function(s) {
var tmpSplitTag = 'lrSplit';
var N =0;
let newStr = s;
newStr = newStr.replace(/({|})/g, function($0,$1)
{
if($1=="{") {
return "<"+tmpSplitTag+(++N)+">";
}
if($1=="}"){
return "</"+ tmpSplitTag+ (N--) +">";
}
});
let regAdd1_ = new RegExp("<"+tmpSplitTag+"1>", 'g');
newStr = newStr.replace(regAdd1_, '{');
let regAdd2_ = new RegExp("<\/"+tmpSplitTag+"1>", 'g');
newStr = newStr.replace(regAdd2_, '}');
//提取 1 的节点
let reg_ = new RegExp("{([^\}]+)}");
let responseArray = [];
function findTagStr(restStr) {
let findTag = restStr.match(reg_);
// console.log('findTag', findTag);
if(findTag) {
let findIndex = findTag.index;
if(findIndex==0) {
responseArray.push(findTag[0]);
} else {
responseArray.push(restStr.slice(0, findIndex));
responseArray.push(findTag[0]);
}
// console.log('restStr', restStr);
// console.log('findTag[0]', findTag[0]);
// console.log('slice', findIndex + (findTag[0].length));
let rightStr = restStr.slice(findIndex + (findTag[0].length));
// console.log('rightStr', rightStr);return;
if(rightStr) {
// console.log('rightStr', rightStr);return;
findTagStr(rightStr);
}
} else {
responseArray.push(restStr);
}
};
findTagStr(newStr);
//复原
let removeReg1 = new RegExp("<"+tmpSplitTag+"\\d+>", 'g');
let removeReg2 = new RegExp("<\/"+tmpSplitTag+"\\d+>", 'g');
responseArray.map(function (str_, n) {
let newStr = str_;
newStr = newStr.replace(removeReg1, '{');
newStr = newStr.replace(removeReg2, '}');
if(newStr != str_) {
responseArray[n] = newStr;
}
});
console.log('responseArray');
console.log(responseArray);
}
getOutStr(str);
</script>
2021-05-21 11:15:55 +08:00
回复了 arwayc 创建的主题 分享创造 分享自己写的一个 Win98 风格的网站
拖拽都不支持
2021-05-14 10:35:54 +08:00
回复了 vvxex 创建的主题 上海 幸存者的一则小幸福
不要想着认识她,不然你要给她买房子车子,生了孩子还要你只会让你赚钱压力更大。她最多月薪不过 4000 块,而如果她想给你打辅助,做家庭主妇,那 4000 就变-4000 了,你每月要给她 4000 块做基本的开支。如果她不想做辅助,想有份自己的事业,一个月的 4000 基本只够她正常花销,家里没人管,下班俩人一起累.
所以,单身是最快乐的事情。
自古有句自相矛盾的话:做好自己,不要评论别人。
80 后三大提神剂:风油精、二天油、清凉油。
2021-04-30 15:34:25 +08:00
回复了 drunkdog 创建的主题 职场话题 素质极差的面试官
怎么没有人来个网站,专门记录低素质的企业名单,补充案例 黑料。
2021-04-29 15:52:29 +08:00
回复了 randm 创建的主题 职场话题 今年 40 了今天试用期汇报通过提前转正
膜拜大佬!奋斗目标。
2021-04-28 16:20:28 +08:00
回复了 QingquanBaby 创建的主题 知乎 大家觉得中国的酒文化能坚持多久
反正就跟可乐一样 ,一瓶的量 可有可无
2021-04-22 15:06:21 +08:00
回复了 MoriartyCy 创建的主题 职场话题 千万不要随便裸辞,真是血的教训!
有点确实不明白 Laravel 、Swoole 能做的事情 难道 TP 和 workerman 实现不了?现在招聘都是要求熟练 Laravel 。看源码太多术语了,什么业务场景下用的到这么多概念。脑阔疼。
2021-04-01 16:43:44 +08:00
回复了 my1103 创建的主题 程序员 1202 年了,为啥还有一堆公司用 jq + art-template ?
说 jQ 操作 dom 不爽的人,大概不知道 vue 的渲染机制,不都是 dom 监听吗?举个 html 语言渲染的例子,jq 或原生 js 也可以很优雅的实现 dom 跟踪渲染。关键还是看使用者对 js 的理解程度。
2021-04-01 16:41:03 +08:00
回复了 my1103 创建的主题 程序员 1202 年了,为啥还有一堆公司用 jq + art-template ?
jq 会用的人还真不多见,网上下载的那些知名插件看看源码不忍直视,大多是完全没有对象封装的写法。操作对象全部 $('.a')。 内部对象全部没有关联的,这样的代码你晓得怎么维护?
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   975 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 20:38 · PVG 04:38 · LAX 12:38 · JFK 15:38
Developed with CodeLauncher
♥ Do have faith in what you're doing.