2013-11-25 42 views
1

我試圖驗證以下規則:正則表達式驗證ColdFusion的

  1. 字符串必須需要有5個字符長度。
  2. 第2個字符必須是「美國」或「CA」
  3. 那麼任何3個字符這是打印

這裏是代碼。請讓我知道如果這是好的。第一

<cfset string="US_tx"> 
<cfset indexofoccurrence="REFind("\b(US|CA)[[:word:]]{3}$"," string)=""> 
<cfdump var="#IndexOfOccurrence#"> 
+0

dnno爲什麼關閉標誌?這是一個合理的問題。 –

+0

那麼最簡單的方法來回答你自己的問題是:*它工作*?這是什麼導致你問這個問題? –

+2

如果你想'任何3個可打印的字符',你應該使用'[:print:]'而不是'[:word:]' – duncan

回答

1

第一件事......如果你要發佈代碼,確保它至少編譯,此代碼沒有。不過,如果你看一下正則表達式本身......它是接近的,但你只是將正則表達式錨定到字符串的結尾;如果你想要整個字符串匹配正則表達式,你需要將它錨定到字符串的開頭,即:

^(US|CA)[[:word:]]{3}$ 
+0

謝謝亞當,這是現在爲我工作。非常感謝糾正我的正則表達式:) – user3029719