一般来说,我想在字符串中找到一些子字符串,但只有当它包含在那里.
我有表情:
^.*(\bpass\b)?.*$
和测试字符串:
high pass h3
当我通过表达式测试字符串时,我看到整个字符串被找到(但是组“pass”不是):
match : true groups count : 1 group : high pass h3
但是我需要的是,这场比赛有2组:
1:高通h3
2:通过
而当我测试,例如,字符串 – 高h3,我仍然有1组发现 – 高h3
我该怎么做?
使用这一个:
^(.*?(\bpass\b)[^$]*)$
>首先捕获整条线.
>预期词的第二次捕获.
检查demo.
更多解释:
┌ first capture | ⧽------------------⧼ ^(.*?(\bpass\b)[^$]*)$ ⧽-⧼ ⧽---⧼ | ⧽--------⧼ | | | └ all characters who are not the end of the string | | | └ second capture | └ optional begin characters