我刚开始学习正则表达式,我想实现以下表达式来测试运营商:正则表达式语法误解
parser = re.compile('[\+\-\*/(//)%]$')
我认为,围绕“//”(floordiv在python运营商)括号将意味着它将被视为该集合中的一个单一元素,而不是parser
匹配的字符串是'('和')'而不是'//'。将“//”设置为字符集的独立元素的语法是什么?
我刚开始学习正则表达式,我想实现以下表达式来测试运营商:正则表达式语法误解
parser = re.compile('[\+\-\*/(//)%]$')
我认为,围绕“//”(floordiv在python运营商)括号将意味着它将被视为该集合中的一个单一元素,而不是parser
匹配的字符串是'('和')'而不是'//'。将“//”设置为字符集的独立元素的语法是什么?
你真的不能在你的性格类指定//
。
您需要为此使用替代标记|
。
例子:
//|[+*/%-]$
你应该把//
第一,由于交替工程左到右。
|
允许从它们的集合中的任何选项进行匹配。所以:
parser = re.compile('(//|[+\-*/%])$')
注意,你不需要逃避+
和*
字符类中 - 唯一的显著人物有\
,]
,^
之初,和两个字符之间-
。
使用
"([Blah]|//)$"
这应该工作