regex 在python 3.11中捕获正则表达式中的数据

3zwjbxry  于 2023-06-25  发布在  Python
关注(0)|答案(1)|浏览(95)

我已经得到了我想使用的正则表达式:

\*\*Suggested by \<\@(.*?)\> \(ID\: (.*?)\)\*\*\\n+(.*)$

沿着模板字符串:

**Suggested by <@1234567890> (ID: 1234567890)**\n\ntesting new idea

在这里进行测试时,这是可行的:https://regex101.com-有一个小警告(似乎不能忽略多个新行)x1c 0d1x,但是可以通过将\n+替换为\n\n来跳过它
如果你想在Python中使用它:

import re

user_input = '**Suggested by <@1234567890> (ID: 1234567890)**\n\ntesting new idea'
regex = re.compile(r'\*\*Suggested by \<\@(.*?)\> \(ID\: (.*?)\)\*\*\\n+(.*$)')
content = re.search(regex, user_input)
print(content.group(1))
print(content.group(2))
print(content.group(3))

我得到这个错误

我已经尝试了双重转义(正如预期的那样,也没有工作)正则表达式应该工作正常,我想我可能使用了错误的操作?

7fhtutme

7fhtutme1#

\n 进行分组,然后应用+量词。

(?:\\n)+
\*\*Suggested by \<\@(.*?)\> \(ID\: (.*?)\)\*\*(?:\\n)+(.*)$

相关问题