2016-08-18 6 views
1

私は人の名前や事業名可能性があり、文字列にマッチしたい、のような:基本的に彼らは正規表現:マッチ任意の数の文字を含む文字列が、数字/特殊文字の数が限られ

Bob Stewart 
Cool-Cows PTY LTD. 
55 Burgers Company 
Billy O'Dilly 
Tom & John's Paper Supplies 

をしています大部分は文字(無制限の文字または空白)で構成され、数値または特殊文字( '、&、 - など)を含むことがありますが、それらの文字列の多くは含まれない文字列です。したがって、これらの文字/ (例えば3つまで)。

私は文字セットの発生を制限するために数量詞を使用する方法を知っているが、それは最初の発生時に停止します。 ^[a-zA-Z\s]*[^a-zA-Z]{0,3}

誰が助けることはできますか?ありがとう

+0

regexにはどのような言語を使用していますか?また、有効な入力と無効な入力が含まれています – anubhava

答えて

0

これは役に立ちますか?

[a-zA-Z\s]|^[^a-zA-Z]{0,3} 
+0

すべての文字または空白にそれぞれ一致するように見えません –

0

上記のような不明瞭な文では、限定子とマッチできません。

<script> 
var str='a,,r,t,'; 
var myTest=str.replace(/[\w]/g,''); 
if(myTest.length<4) 
    alert('Valid Text') 
else 
    alert('InValid Text') 
</script> 

ステップ::声明は

をチェックするためのIF

  • カウント数非アルファ

  • セットをCharacherアルファを削除 私はJavaScriptを使用して、おそらくyourissue方法を持っています

最大で3つのスペシャル
0

ルック:

^([A-Za-z ]*[^A-Za-z ]){0,3}[A-Za-z ]*$ 

live demoを参照してください。

+0

助けてくれてありがとうございますが、うまくいきません。何が始まりますか? –

+0

@Finn '(?i)'は大文字と小文字を区別しませんが、ツールによって異なります。私はそれを取り出して(私は)正規表現を修正したと思う。 – Bohemian

関連する問題