Python 正则表达式空格、括号和括号

Python 正则表达式空格、括号和括号,python,regex,Python,Regex,我正在尝试以以下形式匹配字符串: require([ "foo/bar", "foo2/bar2" ]) 应该完全忽略空白。我正在使用以下正则表达式,但收效甚微: require\\(\s*\\[[.\s]*\\]\\) 有什么建议吗?我知道正则表达式的尝试很可怕 编辑:我正在使用Python 如果使用带有双引号字符串或类似内容的Java或PHP,还需要双转义\s。如果没有,则需要删除所有双反斜杠(并使其成为单反斜杠)。还要注意,[.\s]只匹配句点和空格(在字符类中失去了通配符的含义)。如

我正在尝试以以下形式匹配字符串:

require([ "foo/bar", "foo2/bar2" ])
应该完全忽略空白。我正在使用以下正则表达式,但收效甚微:

require\\(\s*\\[[.\s]*\\]\\)
有什么建议吗?我知道正则表达式的尝试很可怕


编辑:我正在使用Python

如果使用带有双引号字符串或类似内容的Java或PHP,还需要双转义
\s
。如果没有,则需要删除所有双反斜杠(并使其成为单反斜杠)。还要注意,
[.\s]
只匹配句点和空格(
在字符类中失去了通配符的含义)。如果您确实想匹配任何内容请使用
[\s\s]

假设您使用的语言中需要双重转义:

require\\(\\s*\\[[\\S\\s]*\\]\\)
请注意,如果在同一字符串中多次出现这种情况,将导致问题。然后您将从第一个
require([
到最后一个
])
获得匹配。要避免这种情况,请禁止重复中的
]
。但是,请注意,如果
require
中的字符串可能包含
]
本身,则这反过来会导致问题:

require\\(\\s*\\[[^]]*\\]\\)

你的编程语言是什么?@inhan你可以假设公共子集是可用的。@JanDvorak这个问题与转义序列有关,尽管没有更好的答案。非常感谢。如果我认识你本人,我会给你买一杯啤酒。@user1738992因为你使用的是Python,所以你也可以使用一个原始字符串,只需一个反斜杠就可以将所有内容转义。