如何在 Python Regex 中搜索至少两个组中的一个,同时还要寻找必须的第三组?

我正在尝试使用正则表达式来在我的程序中找到误用的运算符。


具体来说,我试图找出是否使用了某些运算符(例如 %、$ 和 @)而没有数字两侧的数字。


以下是一些滥用的例子:


'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.] 时,这是否包括字符串结尾的开头?还是只有不同的字符?


FFIVE
浏览 128回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python