Rgegexpression - 根据出现情况选择

use*_*186 1 regex numbers

我有
[1] "43300", "22222", "22222", "22222", "22222", "22222", "44200", "32122", "22222", "22222", "55000", "22222", "55000", "22222", "33220" "22222"
[17] "22222", "22222", "22222", "22222", "22222", "22222", "32221", "22222", "55000", "22222", "22222", "22222", "22222", "22222","33220 ""33310"

如何选择(内部"")

一个)没有0的occurence
b)中恰好occurence 0 1
c)中正好2个occurnces 0的
d)0等恰好3个OCCURENCES

对于a)([1-5 ^ 0] +)没有工作

谢谢

Kob*_*obi 5

试试这种模式:

"((?:[1-5]*0){N}[1-5]*)"
Run Code Online (Sandbox Code Playgroud)

例如:

  • "((?:[1-5]*0){3}[1-5]*)" - 3个零
  • "((?:[1-5]*0){2}[1-5]*)" - 2个零
  • "((?:[1-5]*0){1}[1-5]*)" - 1个零,相同 "([1-5]*0[1-5]*)"
  • "((?:[1-5]*0){0}[1-5]*)" - 0 0,相同 "([1-5]*)"

您还可以删除引号和捕获组,并改为使用单词边界:

\b(?:[1-5]*0){N}[1-5]*\b
Run Code Online (Sandbox Code Playgroud)