Python正则表达式输出多个匹配项

2024-10-06 14:27:48 发布

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

我有以下示例文本:

60CC
60 cc
60cc2
60CC(2)

和以下正则表达式来匹配这些实例:

(60\s?(cc)(\w|\(.\)){0,5})

但是,对于第一个匹配,我的输出如下所示:

    Match 1
1.  60CC
2.  CC
3.  None

这个例子可以在以下位置看到:https://pythex.org/?regex=(60%5Cs%3F(cc)(%5Cw%7C%5C(.%5C))%7B0%2C5%7D)&test_string=60CC%0A60%20cc%0A60cc2%0A60CC(2)&ignorecase=1&multiline=0&dotall=0&verbose=0

如何将输出限制为仅为#1

我正在使用Python正则表达式。 我的python代码片段是:

re.findall("(60\s?(cc)(\w|\(.\)){0,5})", text, flags=re.IGNORECASE)

Tags: 实例httpsorgtest文本renone示例
1条回答
网友
1楼 · 发布于 2024-10-06 14:27:48

how do I limit the output to just #1 ?

您可以忽略findall/finditer结果中不相关的组

或者,对您不关心的位使用非捕获组:just add ^{} after the leading parenthesis,这样您仍然可以使用分组功能(例如交替),而不会在结果中捕获(拆分)组

相关问题 更多 >