2014-03-06 97 views
0

我剛開始學習正則表達式,我想實現以下表達式來測試運營商:正則表達式語法誤解

parser = re.compile('[\+\-\*/(//)%]$') 

我認爲,圍繞「//」(floordiv在python運營商)括號將意味着它將被視爲該集合中的一個單一元素,而不是parser匹配的字符串是'('和')'而不是'//'。將「//」設置爲字符集的獨立元素的語法是什麼?

回答

2

你真的不能在你的性格類指定//

您需要爲此使用替代標記|

例子:

//|[+*/%-]$ 

你應該把//第一,由於交替工程左到右。

2

|允許從它們的集合中的任何選項進行匹配。所以:

parser = re.compile('(//|[+\-*/%])$') 

注意,你不需要逃避+*字符類中 - 唯一的顯著人物有\]^之初,和兩個字符之間-