gpt4 book ai didi

Javascript RegExp 根据内容更改行

转载 作者:行者123 更新时间:2023-11-28 21:09:34 25 4
gpt4 key购买 nike

我在 JavaScript 和正则表达式方面确实遇到了麻烦。我们有一个使用 log4J 生成的日志文件,并希望呈现为 html 页面。这个想法是根据错误的类型(警告、信息..)向行添加一些样式。

可以创建一个转换每一行的正则表达式:

 [                          main] [ WARN] (26-01-12 17:06:09.168) Engine started
[ startup-schema-loader] [ INFO] (26-01-12 17:06:09.168) Load on Startup Schemas Setup
[ startup-schema-loader] [DEBUG] (26-01-12 17:06:09.168) dispatching request [GwtReloadAllSchemasServerRequest : ]
[ engine-thread-2] [ INFO] (26-01-12 17:06:09.171) Re-loading all schemas

变成这样的东西:

<span class="log-warn">[                          main] [ WARN] (26-01-12 17:06:09.168) Engine started</span>
<span class="log-info">[ startup-schema-loader] [ INFO] (26-01-12 17:06:09.168) L</span>

提前致谢

最佳答案

在这里,只需将日志存储在名为 logs 的 var 中即可。

var html = logs.replace(/.*/g,function($0){
var r = $0.match(/[A-Z]+(?=])/g);
return r ? '<span class="log-'+ r[0].toLowerCase()+'">' + $0 + '</span>' : $0})

工作示例:http://jsfiddle.net/nFwQT/

<小时/>

解释:在第一行中,我们使用正则表达式“拆分”每一行,并对每一行应用一个函数,在第二行中,我们使用匹配大写单词后跟“]”的正则表达式,在第三行中行中,我们返回一个 SPAN 标记,其中的类基于匹配的单词,如果未找到匹配项,则仅返回元素。

关于Javascript RegExp 根据内容更改行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com