84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
光阴似箭催人老,日月如移越少年。
匹配到第二个括号的时候 值是 mo.group(2)
mo.group(2)
mo.group(1) 没匹配到就 None 了
mo.group(1)
None
def mark(mo): # print(mo.group(1)) for i in range(1, 4): match_result = mo.group(i) if match_result is not None: print(i) return match_result re_sub = re.sub(r'@(yangxg)|@(zengshao)|@(zmrenwu)', mark, '@yangxg @zengshao @zmrenwu') print(re_sub)
这样写或许比较好些?输出符合你的要求
def mark(mo): print(mo.group(1)) return mo.group(1)[1:] data = re.sub(r'(@\w+)', mark, '@yangxg @zengshao @zmrenwu') print data
import re data = re.sub(r'@(\w+)', '\\1','@yangxg @zengshao @zmrenwu') print data
result = re.sub(r'@(\w+)', lambda mo: mo.group(1), '@yangxg @zengshao @zmrenwu')
匹配到第二个括号的时候 值是
mo.group(2)
mo.group(1)
没匹配到就None
了这样写或许比较好些?输出符合你的要求