私の検索パネルでは、次のような文字列をフィルタリングする必要があります。
'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
れдан
ますкью
。 - ダッシュ (文字列の先頭に 1 つ以下 AND なし、never
-10kyu
または never-10
); - スペース (文字列の先頭には 1 回まで);
私はこのようなことを考えていましたが、私にとっては完全には機能しませんでした:
/([1-9]|10)\s-\s|dan|kyu|дан|кью/i
そのような正規表現を絞り込む正しい方法は何ですか?
編集1:
- スペース (文字列の先頭には 1 回まで)
無効な例:4dan___-___7kyu
または_4dan_-_7kyu
有効な例:4dan-7kyu
and4dan - 7kyu
and and4 dan - 7kyu
and4 dan - 7 kyu
編集2:
その他の無効な例:
12dan-7kyu
または12dan-11kyu