簡體   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