2013-11-14 15 views
-2

我從我的python腳本的命令行參數中傳遞了一些字符串,並希望將這些字符串用作正則表達式。怎麼做?如何將字符串轉換爲Python中的正則表達式?

+2

歡迎來到Stack Overflow!看起來你希望我們爲你寫一些代碼。 儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常僅在海報已嘗試自行解決問題時才提供幫助。 證明這一努力的一個好方法是包含迄今爲止編寫的代碼, 示例輸入(如果有的話),期望的輸出和實際獲得的輸出(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論什麼適用)。 您提供的細節越多,您可能收到的答案越多。檢查[常見問題]和[問] –

+0

您可以直接將字符串傳遞給're.match'和好友 - 無需轉換。 – georg

+0

你需要謹慎的是確保正確地逃離你的shell命令行以開始... –

回答

3

這段代碼應該可以幫助你理解要做什麼。 (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_inputinput

0

您可以sys.argv讀取命令行參數,並建立使用re.compile正則表達式。

import re 
import sys 

string_to_convert = sys.argv[1] 
regex = re.compile(string_to_convert) 
相關問題