Regex-匹配第二个逗号(或逗号和空格)后的所有内容



我看到了这个链接:Regex-在第二次出现后匹配所有内容。我似乎无法用http://代替逗号,更不用说逗号和空格了。这是我正在使用的字符串的示例:

42:A:b41a2431,B:7615239a,我们是(冠军12。(

我希望在第二个"。。。

因此,这将是:

我们是(冠军12.(

(如果有帮助,我会用Python来做。(

正则表达式不适用于您,因为情况有点不同
该正则表达式假定字符串以http(s(开始果所有测试字符串都有2个逗号,则正则表达式非常简单
.*?,.*?,(.+)*?意思是懒惰(与贪婪(的量词,所以它不会吃掉下一个逗号(因为它适合"任何字符".(

你可以在这里看到演示https://regex101.com/r/XjLOVz/1

难道不能只使用split((和join((吗?

string = "42: A: b41a2431, B: 7615239a, we, are(the champion 12 .)"
result = ", ".join(string.split(", ")[2:])
print(result)

输出:

'we, are(the champion 12 .)'

使用re-的完整代码示例

  1. [^,]+所有不带逗号的符号
  2. 逗号符号
  3. [^,]+所有不带逗号的符号
  4. 逗号符号
  5. \s*0个或更多空白
  6. (.+(有用数据
import re
data="42: A: b41a2431, B: 7615239a, we, are(the champion 12 .)"
re.findall(r'[^,]+,[^,]+,s*(.+)',data)

otput

['we, are(the champion 12 .)']

最新更新