gpt4 book ai didi

不以 4 个字符开头的字符串的 C# 正则表达式

转载 作者:行者123 更新时间:2023-11-30 21:12:34 26 4
gpt4 key购买 nike

我有基本模式:

Input = Regex.Replace(Input, "#(.+?)#", "<h3>$1</h3>");

现在我只希望它匹配如果它所在的行不以 4 个空格字符开头。例如:

This line #would match#
#this one# wouldn't

我已经做到了:

Input = Regex.Replace(Input, "^( {4}).?#(.+?)#", "<h3>$2</h3>");

但这似乎行不通;它没有正确更换。下面是一些测试数据:

#This is my header#

Some text, code below:

background:#333333;
background: #ffffff, #000000;

Testing text

#Another header#

Text

最佳答案

您可以使用负向回顾来断言输入中没有出现四个空格,如下所示:

"(?<!^    )#(.+?)#"

但在应用正则表达式之前进行检查可能更具可读性。

if (!Input.StartsWith("    "))
Input = Regex.Replace(Input, "#(.+?)#", "<h3>$1</h3>");

关于不以 4 个字符开头的字符串的 C# 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403946/

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