私は正規表現で複数の単語をチェックしようとしていますが、できませんでした。複数の単語のチェック
"FOOブーイングを" 失敗する必要があり
@"[^a-zA-Z0-9\s].{1,35}"
"fooが"
"foo" を失敗するべき成功
"fooのブーイング武" 確かにする必要があり成功
私は正規表現で複数の単語をチェックしようとしていますが、できませんでした。複数の単語のチェック
"FOOブーイングを" 失敗する必要があり
@"[^a-zA-Z0-9\s].{1,35}"
"fooが"
"foo" を失敗するべき成功
"fooのブーイング武" 確かにする必要があり成功
、あなたの場合コードを使用することができます。空白で分割すると1より大きいチャンクが返されるかどうかを確認するだけです(空の要素を除いて分割する)。
私は正規表現が「単語」文字からなる2〜35スペースで区切られた単語を有することができ、任意の文字列を一致させる必要がある場合アーキテクチャ
にについてのC#コードを使用することができない、正規表現を必要としますあなたは文字だけまたはdを許可する必要がある場合はregex demo
を参照してください
@"^\w+(?:\s+\w+){1,34}$"
を使用することができます(つまり、文字、数字またはアンダースコア、です) igits、\w
から下線を引く:
@"^[\w-[_]]+(?:\s+[\w-[_]]+){1,34}$"
^^^^^^^^
また、(それは少し短い)[\w-[_]]
= [^\W_]
ことに注意してください。単語間に空白を1つだけ入力する必要がある場合は、\s
の後に+
を削除してください。
@"^[\w-[_]]+(?:\s[\w-[_]]+){1,34}$"
^^
タスクが単純な場合、Regexは悪い選択です。単純な 'String.Split'はそのトリックを行うべきです。 – user3185569
たぶん '@"^\ w +(?:\ s + \ w +){1,34} $ "'? –
'str.Split( '').Length> 1'は動作しません... – Sayse