我在正则表达式中需要一些帮助。下面是我的输入字符串,我需要在'CHK'之后的6个数字/字符
输入:1509280928CR000000058839,19NCHK00212953
输出:002129
我尝试使用[CHK]{3}([0-9]{6})
,但它与CHK匹配。你能帮我吗?
答案 0 :(得分:2)
你需要使用lookbehind。并且不要将CHK
放入角色类[]
,因为[CHK]{3}
不仅会与CHK
匹配,还会与KKK
,CCC
匹配等所有可能的组合。
(?<=CHK)[0-9]{6}
OR
使用如下所示的捕获组,从组索引1中获取所需的字符串。
CHK([0-9]{6})
答案 1 :(得分:1)
您可以像使用
一样使用Positive LookBehindfor(int row=0 ; row < theSum.length ; row++)
这将检查字符串中的单词(?<=CHK)(\d{6})
,并在这些单词后抓取确切的CHK
位数