当前位置: 首页 > 面试题库 >

在Python中获取括号内的字符串

楚勇
2023-03-14
问题内容

我有一个样本字符串 <alpha.Customer[cus_Y4o9qMEZAugtnW] active_card=<alpha.AlphaObject[card] ...>, created=1324336085, description='Customer for My Test App', livemode=False>

我只想要该值cus_Y4o9qMEZAugtnW而不是card(在另一个内部[]

如何在Python中以最简单的方式做到这一点?也许通过使用RegEx(我不擅长)?


问题答案:

怎么样:

import re

s = "alpha.Customer[cus_Y4o9qMEZAugtnW] ..."
m = re.search(r"\[([A-Za-z0-9_]+)\]", s)
print m.group(1)

对我来说,这打印:

cus_Y4o9qMEZAugtnW

请注意,调用会re.search(...)找到与正则表达式的第一个匹配项,因此[card]除非您再次重复搜索,否则它将不会找到。

编辑:
这里的正则表达式是python原始字符串文字,基本上意味着反斜杠不会被视为特殊字符,而是会原样传递给re.search()方法。正则表达式的部分包括:

  1. \[匹配文字[字符
  2. ( 开始一个新的小组
  3. [A-Za-z0-9_] 是与任何字母(大写或小写),数字或下划线匹配的字符集
  4. + 与前面的元素(字符集)匹配一次或多次。
  5. ) 结束小组
  6. \]匹配文字]字符

编辑: 正如DK所指出的,正则表达式可以简化为:

m = re.search(r"\[(\w+)\]", s)

由于\w表示特殊的顺序,与[a-zA-Z0-9_]取决于re.LOCALEre.UNICODE设置的含义相同。



 类似资料:
  • 本文向大家介绍颠倒括在Python中括号内的子字符串的程序,包括了颠倒括在Python中括号内的子字符串的程序的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个小写的字符串s,其中包含字母和括号“(”和“)”。我们必须以递归的方式反转括号中的每个字符串,并返回结果字符串。 因此,如果输入类似于s =“ back(aps)ce”,则输出将为“ backspace”。 为了解决这个问题,我们将遵

  • 问题内容: 如何获取字符串中的括号值。 我只需要AED文字。谢谢 问题答案: 编译并打印“ AED”。甚至适用于多个括号: 正则表达式表示: :字符 :开始比赛组 :以下字符之一 :不是以下字符 :与前面的一样,这表示“除” 以外的所有字符 :集合中的其他内容之一 :停止比赛组 :字面量闭式括号

  • 期望的行为 我有一个输入验证,除其他外,测试长度(

  • 问题内容: 因此,作为我的应用程序的一部分,我需要它从文本文件中读取数据,并在大括号之间获取元素。 例如: 服务器_1 { / directory1 / directory2 } 服务器_2 { /目录1 /目录2 } 然后类似if ,打印目录。 亲切的问候, 问题答案: 您可以尝试以下操作: 说明 匹配任何字符 量词-匹配零到无限次,次数尽可能少,根据需要扩展(延迟) 从字面上匹配字符(区分大小

  • 当我使用之类的东西时,它仍然会触发,就像连字符无效一样。我尝试了和

  • 问题内容: 我想使用正则表达式获取所有括号内的所有子字符串。 作为字符串“ foo(bar)foo(baz)golang”的示例,我想要“ bar”和“ baz” 在python中我可以做 怎么做呢? 问题答案: 的软件包不支持零宽度环顾四周。您可以通过以下功能利用捕获的分组: 输出: 正则表达式: 匹配文字 匹配串高达旁边,并把比赛以捕获组,在这里你可以使用非greeedy比赛太 匹配文字 去游