Javascript 替换正则表达式替代
目前我使用的是: 函数parseFormattext{ text=text.replace/[\\\\]{2}[^\\\\\]+[\\\\\]{2}/g,$1'; text=text.replace/[\*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{2}/g,'$1'; text=text.replace/[\*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{1}/g,'$1'; text=text.replace/[\~]{2}[^\~]+[\~]{2}/g,'$1'; 返回文本; } 和解析:agent_messages.forEache=>e.innerHTML=parseFormate.innerHTML 我希望在上面使用其他类型的组合 比如: !@ 大胆的 $%^用于下划线 &*斜体字 _+删除线 所以对于粗体,应该是:!@粗体!@=大胆的Javascript 替换正则表达式替代,javascript,regex,Javascript,Regex,目前我使用的是: 函数parseFormattext{ text=text.replace/[\\\\]{2}[^\\\\\]+[\\\\\]{2}/g,$1'; text=text.replace/[\*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{2}/g,'$1'; text=text.replace/[\*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{1}/g,'$1'; text=te
有人能帮我写这段代码吗?这相当复杂。您的方法的一个问题是使用新的分隔符,当您获得此输入时会发生什么 正常!@粗体和*粗体斜体!@斜体和*正常 这将是您的输出: 正常粗体粗体斜体正常 由于标记交叉,这是无效的HTML 相反,您需要某种解析器。一个非常基本的方法是查找单个有效标记,然后递归地重新解析其内容。例如: 常量标记={ !@:b, $%^:u, &*:我, _+:del }; 常量regexSanity=/[-[\]{}*+,\\^$\124;\ s]/g;//https://stackoverflow.com/a/9310752/507674 const regex=new RegExp +Object.keystags.map 令牌=>token.replaceregexSanity,'\\$&' .join |+.*?\\1, G 常量解析=输入=> 输入。替换 正则表达式, _,标记,内容=>`${parsecontent}` ;
console.logparsenormal!@粗体和*粗体斜体!@斜体&*正常;这是在分析降价吗?你考虑过标记解析器吗?不是每次都分配文本,而是可以链接所有这些调用。这里的反斜杠太多了。在fast中,所有这些都是不必要的。我找到了一个可能适合您的解析器:遗憾的是,我无法安装任何其他类型的脚本/代码。我必须这样做。这就是为什么我发布这个问题,而不是使用showdownjs作为例子。我是有限的:@MLarionovHi Niet,你的剧本超级棒!非常感谢您提供有效的答案:。我不明白人们为什么要把我的问题和你的答案放在心上。但这并不重要。我有一个复杂的问题,而你却完美地解决了。它看起来很有活力!我喜欢它。