gpt4 book ai didi

c# - 正则表达式贪心问题(C#)

转载 作者:太空狗 更新时间:2023-10-29 20:53:26 24 4
gpt4 key购买 nike

我有一个像“===text=== and ===text===”这样的输入字符串,我想用相应的 html 标签替换 wiki 语法。

输入:

===text=== and ===text===

期望的输出:

<h1>text</h2> and <h1>text</h2>

但是使用下面的代码我得到了这个输出:

var regex = new Regex("---(.+)---");
var output = regex.Replace("===text=== and ===text===", "<h1>$1</h1>");

<h1>text=== and ===text</h1>

我知道问题是我的正则表达式匹配贪婪。但是如何让它们不贪婪。

谢谢你和亲切的问候。丹尼

最佳答案

添加question mark到你的正则表达式:===(.+?)===

更好的选择是使用以下形式的正则表达式:===([^\=]+)===。参见 this guide关于点字符以解释如何谨慎使用点。在对我提供的正则表达式进行基准测试时,它大约是。比您的正则表达式快 50%。

关于c# - 正则表达式贪心问题(C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5275904/

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