我一直在努力研究如何在ColdFusion中使用正在運行的REGEX,並修改它以驗證該字符串是否不包含某些字符。無法獲取正則表達式來處理ColdFusion中的字符串
正則表達式的問題是:
^[A-Z][\dA-Z]{3,3}[A-Z]${5}
以下是我試圖驗證對一個字符串測試:
- 必須是5個位數
- 第一個字符必須是alpha
- 最後一個字符必須是字母
- 字符2-4可以是Al PHAS和數字
- 可能不包含字母O或我
我試圖驗證應有的格式字符串: AZZZE
所以,它應該 AZZZZ A123Z通過
而失敗, 0A23Z I123Z 一個 A12345
這是測試#5,我根本無法得到。
我已經經歷了亞當卡梅倫對正則表達式和CF(http://blog.adamcameron.me/2012/12/regular-expressions-in-coldfusion-part_22.html),其中他提到了「人物設定否定」這樣優秀的帖子閱讀:
字符集否定 可以創建一個字符集指示匹配除了字符集中的內容外,什麼都沒有。 >這是通過使用所取得的^作爲NOT運算符:
「C [^即] T」將匹配「貓」,「膠輥」和「切斷」(和類似的東西「C_T」),但將特別不符合「cit」和「cet」。
所以我嘗試了一些那...
^(O|I)[A-Z][\dA-Z]{3,3}[A-Z]${5}
但現在失敗的測試是否有一個O或I或沒有。
我似乎無法讓它失敗,如果字符串有O或我出席。
如何使用正則表達式(reFind,reFindNOCase,IsValid)來實際指示字符串在O或I存在時無效?
我承認,我非常喜歡這個東西。幫幫我!
可能取代'[A-Z]'你可以使用'[A-H,J-N P-Z]'。 – 2014-09-04 19:21:05
羅伯特,你需要做一個負面的前瞻,以確保你不想要的字符不在那裏。我沒有時間(對不起)爲你提供一個精確的例子,但本文中有一個相當徹底的例子:http://cfmlblog.adamcameron.me/2012/12/regular-expressions-in -coldfusion-part_26.html。謝天謝地,我的博客,順便說一句,很高興它幫助你如此:-) – 2014-09-04 19:54:51
嘿!亞當卡梅隆回復我的帖子! Woot Woot! – 2014-09-08 12:31:14