我正在尝试使用正则表达式来在我的程序中找到误用的运算符。具体来说,我试图找出是否使用了某些运算符(例如 %、$ 和 @)而没有数字两侧的数字。以下是一些滥用的例子:'5%''%5''5%+3''5%%'有没有办法通过单一的研究做到这一点?我知道我可以使用 + 至少为 1,或 * 至少为 0,但请注意:([^\d]*)(%)([^\d]\*)我想找到至少存在 group(1) 和 group(3) 之一的情况,因为在其两侧插入带有数字的 % 是运算符的一个很好的用途。我知道我可以使用:match = re.search(r'[^\d\.]+[@$%]', user_request)if match: return 'Illegal use of match.group()'match = re.search(r'[@$%][^\d\.]+', user_request)if match: return 'Illegal use of match.group()'但我更愿意用一个 re.search 行来做到这一点。还有 - 当我使用 [^\d.] 时,这是否包括字符串结尾的开头?还是只有不同的字符?
添加回答
举报
0/150
提交
取消