繁体   English   中英

正则表达式C#,获取介于2个字符之间的所有内容,但仅当介于两者之间的特定字符且缺少其他一些字符时

[英]Regex C#, get everything between 2 characters but only when a specific character is in between and some others are missing

我有这个正则表达式,它能够找到方括号内的所有内容,而忽略其中包含逗号和其他方括号的内容。

但是还没有完成,我现在想要实现的是,仅找到在方括号内至少包含一个'='符号的符号,如果没有,我不感兴趣。

当前正则表达式:

\[([^,\[\]]+?)\]

输入示例:

  • [Test = Test]-> Match:[Test = Test]没关系
  • [Test = Test; Test2 = Test2]->匹配:[Test = Test; Test2 = Test2]没关系
  • [测试,测试]->没有匹配,没关系
  • [T [E] ST]->匹配:[E]不好(缺少等号)
  • [T [E = S] T]->匹配:[E = S]没关系

不确定我的方向是否正确,因为当某些字符不在其中时,我已经将所有内容放入2个字符中了,但是如何仅在存在特定字符时才知道如何做?

我希望有人可以帮我这个正则表达式使我发疯

谢谢

您可以使用

\[([^][,=]*=[^][,]*)]

参见regex演示

细节

  • \\[ -一个[ char
  • ([^][,=]*=[^][,]*) -组1:
    • [^][,=]* -0或多个除][ ,= ]以外的字符
    • = -等号
    • [^][,]* -除[ ][,
  • ] -一个]字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM