-2
我從我的python腳本的命令行參數中傳遞了一些字符串,並希望將這些字符串用作正則表達式。怎麼做?如何將字符串轉換爲Python中的正則表達式?
我從我的python腳本的命令行參數中傳遞了一些字符串,並希望將這些字符串用作正則表達式。怎麼做?如何將字符串轉換爲Python中的正則表達式?
這段代碼應該可以幫助你理解要做什麼。 (Python的2.7.5)
>>> import re
>>> user_string = raw_input('please enter a string to convert to regex: ')
please enter a string to convert to regex: ab(c)
>>> regex = re.compile(user_string)
>>> regex.match('abc').groups()
('c',)
基本上,你從raw_input
搶輸入,然後re.compile
它變成一個正則表達式,那麼你使用它,你怎麼想。
注:對於Python 3+只需切換raw_input
與input
您可以sys.argv
讀取命令行參數,並建立使用re.compile
正則表達式。
import re
import sys
string_to_convert = sys.argv[1]
regex = re.compile(string_to_convert)
歡迎來到Stack Overflow!看起來你希望我們爲你寫一些代碼。 儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常僅在海報已嘗試自行解決問題時才提供幫助。 證明這一努力的一個好方法是包含迄今爲止編寫的代碼, 示例輸入(如果有的話),期望的輸出和實際獲得的輸出(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論什麼適用)。 您提供的細節越多,您可能收到的答案越多。檢查[常見問題]和[問] –
您可以直接將字符串傳遞給're.match'和好友 - 無需轉換。 – georg
你需要謹慎的是確保正確地逃離你的shell命令行以開始... –