如何用python理解正则表达式?

2024-04-29 06:21:55 发布

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

我对Python还不熟悉。有人能帮我创建一个正则表达式吗

  test_string =  "pero pero CC 
    tan tan RG
    antigua antiguo AQ0FS0
    que que CS 
    según según SPS00 
    mi mi DP1CSS 
    madre madre NCFS000"

如何返回这样的元组:

> ([madre, NCFS00],[antigua, AQ0FS0]) 

我想返回单词及其关联的标记给定test\u字符串,这是我所做的:

# -- coding: utf-8 --
import re


#str = "pero pero CC " \
   "tan tan RG " \
   "antigua antiguo AQ0FS0" \
    "que que CS " \
    "según según SPS00 " \
    "mi mi DP1CSS " \
    "madre madre NCFS000"

tupla1 = re.findall(r'(\w+)\s\w+\s(AQ0FS0)', str)
print tupla1

tupla2 = re.findall(r'(\w+)\s\w+\s(NCFS00)',str)
print tupla2

输出如下:

[('antigua', 'AQ0FS0')] [('madre', 'NCFS00')]

这个输出的问题是,如果我沿着test_string传递它,我需要保留标记的“顺序”或“出现”(即,当且仅当它们具有以下顺序时,我才能打印元组:AQ0FS0和NCFS000换句话说:女性形容词,女性名词)。你知道吗


Tags: testrestringqueccmistrseg
1条回答
网友
1楼 · 发布于 2024-04-29 06:21:55
^([a-zA-Z]+)\s+[a-zA-Z]+\s+([\w]+(?=\d$)\d)

不知道这个选择的基础,但你仍然可以得到这样的选择这个。只是抓住那个捕获。不要忘记设置标志gm。参见演示。你知道吗

http://regex101.com/r/nA6hN9/38

相关问题 更多 >