python - 使用正则表达式返回方括号中的第一个单词

标签 python regex

我有一个文件,其中包含

[[ abstraction, verb.cognition:abstract,+ ]] 

我想删除方括号,并希望保留此括号中的“抽象”一词。所以输出应该是 -

abstraction

我已经尝试过 -

import re

with open('test.txt','r') as f:
    for line in f:
        rx = re.compile(r'\[[^][]*]')  string
        while rx.search(line):
            line = rx.sub('',line)                     
            s = line.strip()
            print(s)

仅显示[]方括号。有什么方法可以做到这一点吗?请帮忙 。

最佳答案

使用re.search

例如:

s = "[[ abstraction, verb.cognition:abstract,+ ]]"
m = re.search("\[\[(.*?)\,.*", s)
if m:
    print(m.group(1))

输出:

 abstraction

关于python - 使用正则表达式返回方括号中的第一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49994402/

相关文章:

python - Pandas 验证列的十六进制值

java - 使用正则表达式从 FQDN 中分割主机名和域名

python - Groupby int 组变量和 float 值的平均值不返回任何内容

ruby-on-rails - 如何使用正则表达式从第一段和最后一段中删除所有 <br>

javascript - 在下面的情况下如何使用javascript编写正则表达式?

javascript - 如何否定代理对集合?

regex - 如何使正则表达式对多个值唯一

python - YouTube Python游戏

python - 最后一场比赛结束的 anchor

python - 使用坐标 python 列表的广度优先搜索