2017-08-01 19 views
0

私は引数のファーストネームをチェックする正規表現を持っています。私の文字列には'.,(space)-を入れることができます。私はテストし、正規表現はtrueと示されています。私は例のようにBen'sのような名前を持っている場合、正規表現はfalseを返しました。ここに私の正規表現です:正規表現チェック名ですか? ColdFusion

私の正規表現が失敗する原因になっているかどうかは分かりません。誰かが私のコードのどこに問題があるか知りたい場合は、私に知らせてください。ありがとうございました!

+0

'trim(arguments.fname)'を使うと、パターンに 'space *'を使う必要はありません。 –

+0

@WiktorStribiżew問題は一重引用符/アポストロフィです。私がハードコードされた値を渡す場合、たとえばBenのそれはtrueを返しますが、私はfalseを返す引数で同じ値を渡します。私は自分のコードで問題がどこにあるのか混乱しています... –

+0

入力文字列に '' 'がなく、代わりに' ' 'がある場合、問題はどこにでもある可能性があります。 –

答えて

0

これが始まります。角括弧の間

patternOnlyCertainCharacters = "[^ 0-9a-zA-Z.\-]"; 
testString = "1.- ~"; 
writeoutput(refind(patternOnlyCertainCharacters, testString)); 

^ is an anchor 
There is a space between the^and 0 characters 
0-9a-zA-Z allows any number or letter, upper or lower case 
. is a period 
\- is a hyphen, escaped by a backslash 

あなたの仕事は、適切にコンマなど許可したい他の文字を追加し、あなたの着信文字列に結果をどのように適用するかを決定することです。