假设我有以下字符串:
此处有一些垃圾字符串...(曲目“标题1”F(S#H88(P#M6)(P#M31))(S#K3(P#M58)(P#M58)))(曲目“标题2”P(S#A54(P#R8))(S#V59(P#A25)(P#Y82)))...此处有一些其他垃圾字符串
我需要从这个字符串中提取以下数据:
而且
哪里
(S#xx(P#xx))
由于regex知识有限,我可以得到1和2,但只能得到3的第一部分。(S#xx(P#xx))
可以存在多次,内部(P#xx)也可以存在多次。
我试过很多regex表达式,也查阅过很多帖子,但我总是遇到困难,无法按要求输出数据。
现在我回到\(TRACK“(.*?)”([PF])(\(S.*?\)\))
,它只捕获这个示例字符串中两个列表中的第一个。
参见:https://regex101.com/r/fm0zzr/1
我需要做什么来获得描述的所有列表?
您可以使用
\(TRACK\s+"([^"]*)"\s+([PF])((?:\s+(\([SP](?:[^()]*+|(?-1))*\)))*\))
请参阅正则表达式演示。
详细信息
\(track
-(track
子字符串\s+
-一个或多个空白“
-”
字符([^“]*)
-组1:除”
“
-”
字符\s+
-一个或多个空白([PF])
-组2:P
或F
((?:\s+(\([SP](?:[^()]*+(?-1))*\))*\)
-组3:
(?:\s+(\([SP](?:[^()]*+(?-1))*\)))*
-零次或多次重复
\s+
-一个或多个空白(\([SP](?:[^()]*+(?-1))*\))
-组4(技术,递归必需):
\(
-(
字符[SP]
-s
或p
(?:[^()]*+(?-1))*
-除了(
和)
或整个最近捕获的模式之外的零个或多个字符\)
-)
字符null 我得到以下错误: 为什么会这样?
总体目标:我希望能够捕获一个正或负数,看起来像这样:xxx.xxx 我也在使用谷歌表,所以我不能使用任何查找
我想匹配string1和以下行中出现的任何内容: 直到遇到以下情况: 因此,在上述4种情况下,使用正确的正则表达式,粗体显示的结果将是匹配的: ['string 1','string 2','string 3'] [“字符串 1” , “字符串 2” , “字符串3”] ['string1.domain.com ',' string2.domain.com ',' string3.domain.c
我想知道为什么这个regex组在Java中不适合我?它在寻找组匹配时抛出异常。我正试着把用破折号隔开的数字匹配起来。
我试图使用express中间件处理错误,在这些行中,我有以下错误 user.js控制器 使用者js模型 app.js 错误 (节点:3304)未经处理的PromisejectionWarning:错误[ERR_HTTP_HEADERS_SENT]:发送到客户端后无法设置头。。。 (节点:3304)UnhandledPromiseRejtionWarning:未处理的promise拒绝。这个错误要么
我正在试图理解这个代码块。在第一个中,我们在表达式中寻找的是什么? 我的理解是,它是任何一个字符(0或多个*),后面跟0到9之间的任何一个数字(一个或多个+),后面跟任何一个字符(0或多个*)。 执行此操作时,结果为: 使用抓取群的好处是什么?