正则表达式替换字符串中的所有 \n,但不替换 [code] [/code] 标记内的内容

2023-12-20

我需要帮助来替换所有 \n (换行)字符
在字符串中,但不在 [code][/code] 标签内的那些 \n 中。 我的大脑正在燃烧,我无法自己解决这个问题:(

Example:

test test test
test test test
test
test

[code]some
test
code
[/code]

more text

应该:

test test test<br />
test test test<br />
test<br />
test<br />
<br />
[code]some
test
code
[/code]<br />
<br />
more text<br />

谢谢你的时间。 此致。


我建议使用(简单的)解析器,而不是正则表达式。像这样的东西(糟糕的伪代码):

stack elementStack;

foreach(char in string) {
    if(string-from-char == "[code]") {
        elementStack.push("code");
        string-from-char = "";
    }

    if(string-from-char == "[/code]") {
        elementStack.popTo("code");
        string-from-char = "";
    }

    if(char == "\n" && !elementStack.contains("code")) {
        char = "<br/>\n";
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式替换字符串中的所有 \n,但不替换 [code] [/code] 标记内的内容 的相关文章

随机推荐

  • 动态加载库

    我有以下项目结构 Web API 类库A 类库B 类库C 这些是项目之间的参考 Web API直接引用A and B B直接引用C C有一个方法需要确保A被加载以通过反射使用其中定义的类型 我的代码实际上如下 public class C
  • 如果用户的互联网关闭,如何更改数据库值

    在过去的几天里 我一直在尝试显示用户的在线 离线状态 为此 我有一个注册活动 他们在其中注册 他们的信息会保存在 firebase 中 如果他们退出活动 我会覆盖其 onstop方法并将值设置为离线 但是如果用户突然失去互联网连接 它仍然显
  • 如何从字段时间戳将出生日期转换为当年的生日?

    id birth 1 1079280000 2004 03 15 2 987264000 2001 04 15 3 1042560000 2003 01 15 如何转换为birth时间戳至1300118400 2011 03 15 对于sq
  • 使用 Clojure 协议实现自定义数据结构

    我可能错过了有关协议的全部要点 但我的问题是 协议是否可用于指示如何迭代自定义数据结构或 println 如何打印对象 假设有两个向量的地图 a b 当第一次调用它时 我想从 a 向量中获取 但是当 conj 在此结构上时 我想 conj
  • 浏览器可以使用二进制 JSON javascript 库吗?

    为了实现高效的服务器端解析 我正在寻找直接用于浏览器 JavaScript 环境的 BSON 解决方案 这个想法是通过二进制 websocket 来利用整个 ASCII 空间 有什么建议么 也欢迎任何nodejs建议 也可以看看 http
  • RSAProtectedConfigurationProvider 在 web.config 加密中使用什么算法?

    我找不到 经过几个小时的谷歌搜索 MSDN 文章 文档 该文章 文档声明了 RSAProtectedConfigurationProvider 在加密 ASP NET Web 应用程序的 web config 文件的一部分时使用哪些算法 我
  • 使用 Macwire 的注射工厂

    我正在研究 MacWire 的依赖注入 我发现 Guice 有用的一件事是辅助注入 自动装配工厂 帮助您创建一些需要运行参数的服务 Macwire 有类似的东西吗 支持可注入工厂 但实际上并不是 MacWire 的功能 而是本着 MacWi
  • 如何使用seaborn连续绘制多个图形

    我有一个数据框df看起来像这样 df head id feedback nlp model similarity score 0xijh4 1 tfidf 0 36 0sdnj7 1 lda 0 89 kjh458 1 doc2vec 0
  • atan2 函数在 javascript 和 Excelsheet 中的行为不同

    我正在尝试 atan2 数学函数 但我在 google excel 表中得到错误的值 但在 javascript atan2 函数中获得正确的值 我怎样才能在excelsheet中得到这个值 我在 Excel 中的价值是 atan2 8 6
  • 如何在 IntelliJ IDEA 中用大括号括住代码?

    如何在 IntelliJ IDEA 中用大括号括住代码 有没有这样的操作的键盘快捷键 只需按如下方式配置智能钥匙 IDE Settings gt Editor gt General gt Smart Keys gt Surround sel
  • 如何获取视图的坐标位置?

    您好 我在RelativeLayout中有一个ImageView 现在如何获取屏幕上imageview的X和Y位置 我努力了 getLocationOnScreen log mPhoto getLeft log mPhoto getScro
  • 如何:将字符串中的 unicode 字符表示形式转换为实际的 unicode 字符

    我在 Xamarin 应用程序中使用很棒的字体 XamarinApp 与之通信的 api 返回一个 fxxx 字符串来指示要显示的图标 在代码中我添加了 u 但它被视为字符串而不是 unicode 字符 var value f641 new
  • 使用 Java 配置禁用 csrf

    再会 我正在努力学习Spring 我目前正在做这个指南 http spring io guides gs consuming rest http spring io guides gs consuming rest 我已遵循所有说明 但是
  • Sqlite 与 HTC Desire HD 相关的问题

    最近我收到很多关于 HTC Desire 系列的投诉 它在调用 sql 语句时失败 我收到了用户的报告 其日志快照包含以下内容 I Database 2348 sqlite returned error code 8 msg stateme
  • 以这样的方式设计一个类,使其不会成为“上帝对象”

    我正在设计一个应用程序 它允许我在图形上绘制一些函数 每个函数都将从一组点中绘制 我将传递给该图形类 有不同类型的点 全部继承自 MyPoint 类 对于某些类型的点 它只会按原样将它们打印在屏幕上 其他点可以被忽略 其他点可以添加 因此与
  • 使用 MS Access 和 ODBC 连接到远程 PostgreSQL

    我目前有一个通过 ODBC 连接到 PostgreSQL 数据库的 MS Access 应用程序 它在具有 20 个用户的 LAN 上成功运行 每个用户都运行自己的 Access 版本 现在我正在考虑一些灾难恢复场景 似乎保护数据的一种快速
  • 如何可靠地让 Instruments 4.x 进行符号化?

    我有点进退两难 无论我做什么 当我在我的设备上进行分析时 我都无法让 Apple 的 Instruments app 来符号化任何包含的工具 它在 iOS 模拟器中工作正常 我已经尝试了我能想到的一切 包括 检查我是否确实正在构建 dSYM
  • 使用logstash grok过滤器提取文件路径的一部分的正则表达式

    我对正则表达式很陌生 但我认为这里的人可能会给我宝贵的意见 我正在使用logstashgrok http logstash net docs 1 0 17 filters grok我只能提供正则表达式的过滤器 我有一个像这样的字符串 app
  • 设置 System.in 以从 JTextField 读取

    我正在寻找如何更换的方向System in与InputStream直接从a读取JTextField 到目前为止 我的方法基本上是反复试验 我目前有 JTextField input new JTextField System setIn n
  • 正则表达式替换字符串中的所有 \n,但不替换 [code] [/code] 标记内的内容

    我需要帮助来替换所有 n 换行 字符在字符串中 但不在 code code 标签内的那些 n 中 我的大脑正在燃烧 我无法自己解决这个问题 Example test test test test test test test test co