正则表达式语法错误

2024-04-24 23:23:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始学习regex,我想实现以下表达式来测试操作符:

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

我认为“//”(python中的floordiv操作符)周围的括号意味着它将被视为集合中的一个元素,但是parser将匹配像“(”and“)”这样的字符串,而不是“//”。将“//”设置为字符集的独立元素的语法是什么?你知道吗


Tags: and字符串reparser元素表达式语法regex
3条回答

使用

"([Blah]|//)$"

这是我应该做的

|允许匹配其中一组中的任何选项。所以:

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

请注意,您不需要在字符类中转义+*–只有\]^以及两个字符之间的-。你知道吗

不能在character类中指定//。你知道吗

您需要为此使用一个替代标记|。你知道吗

示例:

//|[+*/%-]$

你应该把//放在第一位,因为交替是从左到右的。你知道吗

相关问题 更多 >