簡體   English   中英

如何檢查嵌套方括號?

[英]How to check for nested square brackets?

我有下面的輸入字符串:

[text1][text2][text3]...[textN]

我想使用正則表達式應用以下驗證規則:

][不能包含在其他[]

例如,下一個輸入字符串不正確:

[test1][test2[][test3]
[test1][test2]][test3] 
[test1][test2[lol][test3]
[test1][test2]lol][test3] 

我需要驗證輸入字符串,因為我打算將其分成[]組(再次使用正則表達式)。

如果您真的想要一個正則表達式,這里是一個快速的例子:

^(\\[[^\\[\\]]+\\])*$

適用於您的示例

這里的原理是每個括號對(\\[.*\\])*包含不包含括號[^\\[\\]]+任何文本

萬一您需要能夠使[test1][test2][][test3]工作,請用*更改+以允許空字符串匹配

這應該可以解決問題:

^(\[\w*\])*$

它的意思是

  • ^開始於
  • [ [
  • \\ w *多個單詞字符( \\w匹配[A-Za-z0-9_]
  • ] a ]
  • *多次
  • $字符串結尾

暫無
暫無

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

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