我有一个包含由 . 包围的字符串的文本#[ ]
。我需要匹配这些字符串并找出里面的字符串。
我的示例文本:
Lorem ipsum dolor #[This is my first string.] sit amet, consectetur elit,
sed do eiusmod tempor incididunt #[This is my second string?] ut et dolore magna.
有了这个文本,我想有两个匹配项:
#[This is my first string.]
#[This is my second string?]
现在我已经写了我的正则表达式:
\#\[([\w\s\W]*)\]
我添加\W
是因为我想包含点、问号和其他不是字母的字符。这给我带来了一个问题,因为 now #
, [
and]
被包含在内,这导致我的文本只有一个匹配项:
#[This is my first string.] sit amet, consectetur elit,
sed do eiusmod tempor incididunt #[This is my second string?]
当然,它在 的第一次出现#[
和最后一次出现时匹配]
。如何解决这个问题?我可以接受不包括#
,[
和]
在我的字符串中,但如果可能的话,应该包括所有其他非字母字符。