例如,我正在尝试计算一组随机字符中数组的大小;
qweqe1wqeqjson=[1,2,5,3]
表达;
(?<=json=)?[0-9]
也包括数字1
作为匹配。如您所见,我尝试实施的解决方案只会在json=
之后计算匹配项。
您可以使用
grep -oP '(?:G(?!^)s*,s*|json=[)Kd+' <<< "$s" | wc -l
观看在线演示
-oP
的意思是:
o
- 仅输出匹配的文本P
- 使用 PCRE 引擎解析正则表达式模式
(?:G(?!^)s*,s*|json=[)Kd+
模式意味着:
(?:G(?!^)s*,s*|json=[)
- 上一个成功匹配的结束,然后是用 0+ 空格字符或json=[
子字符串括起来的,
K
- 丢弃到目前为止匹配的所有文本d+
- 1+ 位数字
wc -l
计算比赛次数。