gpt4 book ai didi

c# - 为什么我不能使用此模式删除 "[restr=戸]"

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:53 25 4
gpt4 key购买 nike

我有这样的字符串:

"
[2][n]
shutter; window shutter

,と|戸,1266970,(Y, 5, 3, Y, [1][n]
[restr=戸]
door (esp. Japanese-style)"

我正在尝试删除 [restr=戸]

使用这段代码:

 Regex regex = new Regex(@"(\n  )?\[(see|note|ant|restr|syn)=[^\]]*\]]");
var m1 = regex.Replace(m, "");

但是当我查看 m1 时,字符串仍然存在。

谁能看出它为什么不删除字符串?

最佳答案

您需要删除最后一个 ],因为它需要第二次关闭 ],我还建议同时匹配 CRLF 或 LF 结尾(以防您有 Windows或 Unix 行尾),并增强水平空白部分:

var m1 = Regex.Replace(m, @"(?:\r?\n[\p{Zs}\t]*)?\[(?:see|note|ant|restr|syn)=[^]]*]", "");

参见 regex demo

详情

  • (?:\r?\n[\p{Zs}\t]*)? - 一个可选的序列
  • \[ - [ 字符
  • (?:see|note|ant|restr|syn) - see, note, antrestrsyn 字符序列
  • = - = 字符
  • [^]]* - ]
  • 以外的 0 个或更多字符
  • ] - ] 字符。

关于c# - 为什么我不能使用此模式删除 "[restr=戸]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58809999/

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