我一直试图提取一些字符串或任何包含在双方括号中的值。即[[hello world]]
或[[12_ nine]]
等等。这意味着任何东西,但是用两个方括号括起来。请检查我尝试过的URL。但是,我在下面解释我做了什么:
/\[[^\]]*\]]/
此模式可以验证[[]]
内的任何内容。我的问题是,它也验证了[]]
。我举两个例子,这个部分验证了[[Welcome]]
[v2.0]]
。我需要第二个例子不应该被验证。查看URL,您可以更好地理解。
答案 0 :(得分:2)
你需要这个:
/\[\[[^\]]*\]\]/
以下是它的定义:
\[\[
[^\]]*
\]\]
(你可以保持它们不转义,这是一种风格问题)请注意,它不会匹配中间带方括号的字符串(例如[[ A [B] C]]
)。如果要允许这些字符串,请使用
/\[\[.*?\]\]/
如果必须是整个字符串,如下面的评论所示,请使用
/^\[\[.*?\]\]$/ (if you want to allow brackets inside)
/^\[\[[^\]]*\]\]$/ (if you don't)
^
$
是字符串锚点的结尾,让您测试整个字符串。
答案 1 :(得分:2)