我想知道是否可以在Python中使用re來找到問題的答案。例如,用戶被問到一個問題「你想繼續嗎?」; 我可以使用正則表達式,以便'y''是''是''是''是'將變量設置爲1或'n''否'否''否'將變量設置爲0?我知道不使用正則表達式就可以做到這一點,但我試圖提高我對使用正則表達式的知識。Python正則表達式 - 根據輸入確定答案
0
A
回答
1
是的,但正則表達式是矯枉過正這一點。你可以做得更簡單。下面的代碼是爲Python 3.您將取代input
與raw_input
和修改print
聲明爲Python 2
>>> def continue_prompt():
... while True: # Continue prompting until valid answer.
... answer = input("Do you want to continue? ")
... if answer.lower() in ['y', 'yes']:
... cont = True
... break
... elif answer.lower() in ['n', 'no']:
... cont = False
... break
... else:
... print("Please answer yes or no. ", end="")
... return cont
...
>>> answer = continue_prompt()
Do you want to continue? foo
Please answer yes or no. Do you want to continue? y
>>> assert answer == True
>>> answer = continue_prompt()
Do you want to continue? yes
>>> assert answer == True
>>> answer = continue_prompt()
Do you want to continue? NO
>>> assert answer == False
>>> answer = continue_prompt()
Do you want to continue? N
>>> assert answer == False
>>>
+0
謝謝,我只是看到這樣的事情是否可以使用正則表達式,但正如你所說,我想它的矯枉過正。 – hjalpmig
+0
沒問題。我很少使用正則表達式。當我還是一個年輕的Python程序員時(一年前),有人說可以用''in''或字符串'find()'方法完成'regex'的大部分工作。這就是說,有很多用例只有一個正則表達式可以做,所以這是一個很好的工具。 –
4
例如,你可以使用可選組驗證,像這樣:
re.search(r'[yY](?:es)?', user_input) # es is option but requires a y
相關問題
- 1. 用正則表達式尋找答案
- 2. 進度條根據正確的答案
- 3. 正則表達式否定捕獲組返回答案
- 4. Textfield - Label - Button根據輸入的答案
- 5. 如何根據測驗中的正確答案給出答案
- 6. Python的正則表達式:「喜歡」正則表達式模式?
- 7. Python正則表達式解決方案?
- 8. PHP根據正則表達式中的參數確定文件
- 9. 正則表達式輸出不正確
- 10. 不正確的python正則表達式
- 11. 用Python正則表達式編譯模糊正則表達式
- 12. 忽略MVC模式正則表達式或根據用戶輸入選擇另一個正則表達式
- 13. 正則表達式:根據轉換表
- 14. 正則表達式和嵌套模式:什麼是明確的答案?
- 15. 正則表達式正則表達式正則表達式使用正則表達式,但不是與Python
- 16. 針對特定輸入掛起的Python正則表達式
- 17. Python正則表達式lookahead
- 18. 正則表達式的Python
- 19. 正則表達式 - 在Python
- 20. HTML輸入正則表達式模式
- 21. Python findall正則表達式
- 22. 使用正則表達式(正則表達式)根據輸入字符串的長度去除字符
- 23. 根據是否正確答案,計分不正確
- 24. 正則表達式(正則表達式)
- 25. Python循環 - 繼續詢問,直到輸入正確的答案
- 26. Python正則表達式
- 27. Python正則表達式
- 28. Python的正則表達式
- 29. 正則表達式,Python
- 30. 試圖找出正則表達式的答案
儘量增加你的正則表達式的知識,更好的例子。這一個沒用,你不會學習正則表達式的特別之處。 – Maroun
爲什麼不只是例如'{'y','yes'}'中的response.lower()這裏沒有必要使用正則表達式。 – jonrsharpe