我需要使用std ::正則表達式和驗證在C++ 輸入字符串的輸入串應當是
folder-200
folder-1
或folder-01
或folder-001
之間(前綴必須是「文件夾 - 」)結束 如何爲此寫一個正則表達式?經常爲字符串表達式與數正則表達式在C++中的用法與在其他語言(如PHP和JavaScript)中使用的正則表達式不同嗎?
大多數C++開發人員是否使用'Boost regx'或'std :: regex'(請注意一些問題)?
0
A
回答
2
喜歡的東西
const std::regex re("folder-\\d{1,3}");
例如:
http://liveworkspace.org/code/1EfD0Q $ 12個
您可以在C讀到的std ::正則表達式++標準,或約的boost ::正則表達式中提升文檔。 boost :: regex是穩定的庫,std :: regex是C++ 11標準的新特性。現在,例如gcc 4.7不能處理這個正則表達式,所以,使用boost更好(在LWS的示例中,我使用boost :: regex而不是std :: regex,因爲gcc 4.7中的std :: regex無法正確處理{n,m})。
+0
我將此標記爲答案,請在liveworkspace中正確地更正其他人使用的示例。謝謝。 –
+0
@NayanaAdassuriya LWS上的示例無法更正,因爲此正確的正則表達式不起作用,因爲此語法{n,m}尚未在std中實現。無論如何,編輯升壓而不是標準。 – ForEveR
2
嘗試使用,
System.out.println("folder-004".matches("^folder-\\d{1,3}?$"));
相關問題
- 1. 經常在PowerShell中替換字符串表達式
- 2. 經常爲逗號分隔的字符串表達
- 3. 使用常規表達式將字符串與JSON字符串相匹配
- 4. 從字符串與正則表達式
- 5. JS字符串與正則表達式
- 6. 正則表達式與空字符串
- 7. 轉換一個數字常數爲一定字符串表達式
- 8. 將表達式轉換爲字符串
- 9. 正則表達式爲空字符串
- 10. 正則表達式爲字符串
- 11. 從字符串表達式
- 12. AWK-字符串表達式
- 13. 字符串表達式
- 14. Notepad ++ TextFX轉義爲正則表達式的常規字符串
- 15. c#將字符串表達式轉換爲布爾表達式
- 16. 從字符串中獲取數字與正則表達式
- 17. 正則表達式匹配字符串與最小字數
- 18. Ruby的正則表達式匹配的字符串與數字
- 19. PHP正則表達式與字符串分開的數字
- 20. Javascript正則表達式字符串與它的數字
- 21. 數字與字符串之間的正則表達式
- 22. 正則表達式的字符串與數字使用node.js
- 23. 字符串的數學表達式
- 24. 字符串到整數表達式
- 25. 的毗連正則表達式與常量聲明字符串作爲oneliner
- 26. 經常用於將標識符表達式不是關鍵字
- 27. valdiating字符串上的正則表達式字符串數組
- 28. 字符串表達式將被評估爲數字
- 29. AngularJS表達式轉換數字爲字符串變化
- 30. 正則表達式爲字符串中的十進制數字
'文件夾 - \ d {3}'如果它正是3位數字,'文件夾 - \ d +'如果它是儘可能多的數字。 – Rapptz
@Rapptz - 那麼我只需要接受'一位數字','兩位數字'和'三位數字' –
'folder- \ d {1,3}'。 – Rapptz