我尋找一個正則表達式的字符串包含「一」和「b」,它具有以下兩個屬性搜索字符串: 1:字符串有偶數個字符 2:字符串可能不包含「AA」具體情況
Q
具體情況
1
A
回答
0
它可與Perl兼容的正則表達式可以輕鬆完成: ^(ab|bb|(ba(?!a)))*$
基本上它說,字符串必須由ab
,bb
,ba
子以任意順序混合,但ba
不能按照其他a
字符。
由於所有這些子表達式的長度都是偶數,所以字符串的長度將會更長。 aa
不能出現在一個字符串中,因爲它出現的唯一方法是在子字符串baab
中,但正則表達式特別限制ba後面跟着a
。
1
這是可能的標準(舊)的正則表達式:
(ab|bb|(ba)*bb)*(ba)*
1
如何:
/(?=^(?:..)+$)(?!aa)(?=.*a)(?=.*b)/
解釋:
/ : delimiter
: control there are an even number of char
(?= : positive lookahead
^ : begining of string
(?: : non capture group
.. : 2 characters
)+ : one or more times
$ : end of string
)
: control there aren't aa
(?! : negative look ahead
aa : aa
)
: control there is at least an a
(?= : positive lookahead
.*a : at least an a
)
: control there is at least a b
(?= : positive lookahead
.*b : at least a b
)
/ : delimiter
相關問題
- 1. 針對具體情況
- 2. $。員額問題jQuery的具體情況
- 3. 具體情況的提示或提示
- 4. 更新表whith的具體情況
- 5. SQL更新查詢具體情況
- 6. c#subsonic 2.1:按具體情況
- 7. 有關BCNF分解的具體情況
- 8. 防止屏幕閃爍(具體情況)
- 9. 重啓ROWNUMBER根據具體的情況
- 10. 插入到mysql的具體情況
- 11. 擁有上根據具體情況
- 12. 根據具體情況填寫清單
- 13. 實體getter不同情況
- 14. ORM模型和DAO在我的具體情況
- 15. 選擇記錄根據具體的情況從另一個表
- 16. CSS3:高度過渡不工作 - 具體使用情況
- 17. oop:在具體情況下的構成或繼承
- 18. 如何根據具體情況檢索單行?
- 19. 更新字段順序根據具體的情況
- 20. 使用CASE的具體情況 - 我如何
- 21. wix:根據具體情況設置多個值
- 22. 導入/導出根據具體的情況
- 23. 轉換行分列具體情況在SQL Server
- 24. 月分組,根據具體的情況在SQL
- 25. 在我的具體情況下唯一識別設備
- 26. 我可以搜索/多個.txt文件的具體情況
- 27. 斯卡拉:模式匹配「具體」的情況下
- 28. 休息空間,文本框(具體情況)
- 29. 投影MongoDB中根據具體的情況
- 30. Python的查找和具體情況而定替換/與函數
這幾乎是不可能做到這一點與一個正則表達式。 – kirilloid 2012-04-18 09:26:08
你應該可以用3個正則表達式來做到這一點。每個條件一個:P – ArjunShankar 2012-04-18 09:38:54
字符串只包含'a'和'b'還是'abcd'是一個有效的字符串? – Toto 2012-04-18 09:54:38