正規表現をつかう
正規表現には英単語が何回出てくるかで判定する方法をとっています。よくやるのは空白が何個あるかで判定する方法ですね。ただその場合には改行について考慮しなければなりません。
例1)5単語以上、10単語以下に制限したい場合
- ^\W*(\w+(\W+|$)){5,10}$
\w = 英単語を構成する文字(a-z, A-Z, _ ,1-9)
\W = \wの否定
先頭から、0個以上の非単語文字
(1つ以上の単語文字(1つ以上の非単語文字か末尾))を5回以上、10回以下繰り返す
終端
そのため、I'm はもとより HogeHoge's, 1-2 なども2単語と判定します。
例2)5単語以上、10単語以下に制限したい場合( ' と - はカウントしない )
' や - を含んでも 1単語とするためには、
- ^\W*([\w'-]+(\W+|$)){5,10}$
先頭から、0個以上の非単語文字
(1つ以上の[単語文字 or ' or -](1つ以上の非単語文字か末尾))を5回以上、10回以下繰り返す
終端
この赤い部分のように単語文字に ' と - を追加しておけばよい。
他にもよい方法はあるかもしれませんが、とりあえず上記で事足りそうなのでメモとして残しておきます。あるいはそのうち誰かのツッコミが入るでしょう (^^;
2018年8月22日 @kimipooh
0 件のコメント:
コメントを投稿