【发布时间】:2017-10-11 02:18:12
【问题描述】:
假设我有一个这样的字符串:
hello blah(1) ndnddnnn div1 - 这个 ;sdhfdkl;a div2 - 我应该
我正在尝试提取blah 和!blah 之间的特定信息。这是我想要的信息的一个例子:
- 1
- 1,这个
- 2,应该
- 3, 是
- 4,捕获
- 2
- 35,也
- 24,这些
- 0,需要
- 94,捕获
这是我正在尝试使用的正则表达式:
/blah\((\d)\)(([\s\S]*?div([\d]) - (\w+) )+)[\s\S]*?(?!\!blah)/g
这是我对我定义的正则表达式字符串的理解:
-
blah\((\d)\):捕获括号内的数字 -
([\s\S]*?div([\d]) - (\w+) ):在“div”之前的一些随机文本,然后捕获 div 之后的数字和-之后的单词。此语句包含在我想要匹配一次或多次的捕获组中。 regex101 告诉我,我需要将其包装在另一个捕获组中以获取所有实例。我在blah和!blah中的文本本质上是 divX - YYYYY 格式,前面是一些随机文本。 -
[\s\S]*?(?!\!blah):以一些随机文本结尾,后面的内容与!blah匹配。
由于某种原因,我没有得到我想要的匹配项,如您在上面的链接中所见。我究竟做错了什么?我上面所做的一些假设是不正确的吗?感谢您的帮助
【问题讨论】:
标签: javascript regex regex-group