我正在尝试找出以下输入和规则的正则表达式:
我创建了以下表达式:
idx = np.flatnonzero(~np.isnan(a))
a.ravel()[idx[a.ravel()[idx] < 0]] = -1
涵盖除数字唯一性之外的所有内容。
有效示例:
r,c = np.nonzero(~np.isnan(a))
mask = a[r,c] < 0
a[r[mask],c[mask]] = -1
无效的例子:
^([1-9]|10)(;([1-9]|10)){0,3}$
关于如何仅在值唯一时才能匹配的任何建议?
答案 0 :(得分:3)
添加使用反向引用的负面预测,以强制实现唯一性:
^([1-9]|10)(?!.*\b\1\b)(;([1-9]|10)(?!.*\b\3\b)){0,3}$
需要使用单词边距\b
来阻止1
与10
匹配。
使用您的示例查看live demo。