对于我的搜索面板,我必须过滤如下所示的字符串:
'4dan-7kyu' or '4dan - 7kyu' or '10kyu' or '10 kyu' or '2dan' or '2 dan' or '4-7' or '4 - 7' or '10'
仅允许:
- 数字来自
1-10; - 不区分大小写的单词包括:
dan,kyu,дан,кью; - 破折号(不超过一个并且从不在字符串的开头,从不
-10kyu或从不-10); - 空格(不超过一次,但从不在字符串的开头);
我正在考虑这样的事情,但它从未对我完全有效:
/([1-9]|10)\s-\s|dan|kyu|дан|кью/i
拧这种正则表达式的正确方法是什么?
编辑1:
- 空格(不超过一次,但从不在字符串的开头)
无效示例:4dan___-___7kyu或_4dan_-_7kyu
有效示例:4dan-7kyuand4dan - 7kyu和4 dan - 7kyuand4 dan - 7 kyu
编辑2:
更多无效示例:
12dan-7kyu或12dan-11kyu