python - 提取方括号之间的值,忽略单引号

标签 python regex

我正在尝试以下操作:

s = "Text text text [123] ['text']"

这是我的功能:

def getFromSquareBrackets(s):
    m = re.findall(r"\[([A-Za-z0-9_']+)\]", s)
    return m

但我正在获得:

['123', "'text'"]

我要获取:

['123', 'text'] 

如何忽略单引号?

最佳答案

您可以使用 ?' 设为可选

>>> re.findall(r"\['?([^'\]]+)'?\]", s)
['123', 'text']

  • \['? 匹配 [['

  • ([^'\]]+) 匹配除 '] 之外的任何内容并捕获它们。

  • '?\] 匹配 ]']

关于python - 提取方括号之间的值,忽略单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39601759/

相关文章:

javascript - 同一行上的正则表达式多个匹配项

regex - 使用 PowerShell 过滤阿拉伯语单词

java - 如何用正则表达式替换前缀和后缀上的所有匹配项?

python - 为什么Behavior 记录的与 Django 的手动集成不起作用?

python - 在 Python 中将 JSON 转换为 XML

python - 如何在 Pandas 数据框中创建多列?

python - 是否可以使用 jedi-vim 插入 import 语句?

正则表达式在第一个管道后获取所有字符串

javascript - 尝试将 url 路径名与 RegEx 匹配

python - 在 python 中 reshape 数组乘法/除法