簡體   English   中英

如果正則表達式缺少第一個括號,則獲取括號之間的所有文本

[英]Get all text between brackets if first bracket is missed with Regex

我正在嘗試編寫正則表達式,它也可以匹配方括號之間的所有文本。 但是有一個條件:可以錯過第一個括號。 例如:

今天是[晴天]

今天是晴天]

首先,我想得到[晴天] 一秒鍾我想得到今天是晴天]

我寫了regexp,但僅在第一種情況下有效。

(?(?=\\[).*?|)\\]

我試圖像這樣設置其他動作

(?(?=\\[).*?|.*?)\\]

但是在這種情況下,我得到的是今天是[晴天]而不是[晴天]

是否有可以解決我的問題的正則表達式?

假設不考慮嵌套方括號,您可以簡單地使用

\[?[^\]\[]*\]

或少一點轉義

\[?[^][]*]

這將可選地匹配一個開頭的方括號,任何不包含方括號和結尾方括號的內容。

參見https://regex101.com/r/97F2wM/1

(將\\n添加到否定的字符類中,以避免行重疊)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM