猿问

使用正则表达式在部分内的组件内搜索数字

鉴于以下字符串:

G1:NMXPAKW63roBnMZ[RQ:1,2]-G2:Q9M7mPl9X4NG9Ry[QC:1,5]-G3:1Bd57mPl9X4NG9Ry[QC:1,5]

我有以下正则表达式(其基础来自上一个问题):

 G2:(?:(?!-G)\S)*([^0-9]|^)1([^0-9]|$)

我想要实现的是“让部分开始 G2 并在下一部分之前结束”,在这种情况下 -G3,然后“搜索第一个数字”。

这有效,但是我想在遇到 QC: 部分时停止搜索,目前如果我用 9 替换正则表达式中的 1,它会匹配散列组件 (Q9M7mPl9X4NG9Ry) 中的 9,这是我不想要的。在 G2 部分中,我只想在 QC:1,5 组件中查找匹配项。


Qyouu
浏览 142回答 2
2回答

泛舟湖上清波郎朗

正则表达式-G2:.*?\[(.*?)\]会给你部分QC:1,5
随时随地看视频慕课网APP

相关分类

Java
我要回答