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

PYTHON-捕获大括号内的内容

党建义
2023-03-14
问题内容

因此,作为我的应用程序的一部分,我需要它从文本文件中读取数据,并在大括号之间获取元素。

例如:

服务器_1 {

/ directory1 / directory2

}

服务器_2 {

/目录1

/目录2

}

然后类似if Server == Server_1,打印目录。

亲切的问候,


问题答案:

您可以尝试以下操作:

\{(.*?)\}

说明

  1. \{ matches the character { literally (case sensitive)
  2. (.*?) 1st Capturing Group
  3. .*? 匹配任何字符
  4. *? 量词-匹配零到无限次,次数尽可能少,根据需要扩展(延迟)
  5. \}``}从字面上匹配字符(区分大小写)

示例代码以提取大括号内的内容:

 import re

regex = r"\{(.*?)\}"

test_str = ("Server_1 {\n"
    "/directory1 /directory2\n\n"
    "}\n"
    "Server_2 {\n\n"
    "/directory1\n\n"
    "/directory2\n\n"
    "}")

matches = re.finditer(regex, test_str, re.MULTILINE | re.DOTALL)

for matchNum, match in enumerate(matches):
    for groupNum in range(0, len(match.groups())):
        print (match.group(1))

在这里运行代码



 类似资料:
  • 问题内容: 我有一个样本字符串 我只想要该值而不是(在另一个内部) 如何在Python中以最简单的方式做到这一点?也许通过使用RegEx(我不擅长)? 问题答案: 怎么样: 对我来说,这打印: 请注意,调用会找到与正则表达式的第一个匹配项,因此除非您再次重复搜索,否则它将不会找到。 编辑: 这里的正则表达式是python原始字符串文字,基本上意味着反斜杠不会被视为特殊字符,而是会原样传递给方法。正

  • 以下是降价文本的示例: #“我的标题” !图像标题。{ 样式=“浮动:右; 宽度: 20%; 边框: 1px”} 有的“引用文字”,有的*“强调文字”*等。 在bash脚本中,我试图用法语引号替换任何双引号。 例如:“word”应变成« 换句话说,一个单词前的所有引号都应该替换为一个开放的法语引号,后跟一个不间断的空格;而且一个单词后面的所有引号都要换成一个不换行的空格后面跟着一个闭合的法语引号;

  • 我正在尝试编写一个配置文件语法并让ANTLR4来处理它。我对ANTLR很陌生(这是我第一个使用它的项目)。 在很大程度上,我理解大多数配置文件语法需要做什么(或者至少我认为我需要做什么),但我将要阅读的文件将在大括号内包含任意C代码。以下是一个示例: 类似于: 可能有很多这样的人。我似乎无法让它理解我只想忽略(不跳过)源代码。以下是我迄今为止的语法: 问题是,我在C\U BLOCK lexer规则

  • 这是我前面的SO问题的一个排列。这个答案对我来说非常有效,直到我遇到了一个导致问题的边缘案例。我现在需要一个调整的正则表达式模式。我试着在Regex Storm上自己解决这个问题,但是我对Regex的了解还不够深入。 与我上一篇文章(链接在上面)的一个变化是,我现在只对匹配以开头的paren分组感兴趣,而不是仅仅以开头。分组的结尾保持不变: 我正在使用C#和regex,试图捕获外部的paren组,

  • 如果部分字符匹配,我会尝试捕捉花括号(包括花括号)之间的字符。 我尝试了下面的正则表达式模式,但它从整个字符串中的第一个花括号和最后一个花括号开始抓取所有内容。 我想捕获{list: a, b, and c},但是我得到的是{name_of_list}list包含{list: a, b, and c}。

  • 本文向大家介绍浅析python 中大括号中括号小括号的区分,包括了浅析python 中大括号中括号小括号的区分的使用技巧和注意事项,需要的朋友参考一下 python语言最常见的括号有三种,分别是:小括号( )、中括号[ ]和大括号也叫做花括号{ }。其作用也各不相同,分别用来代表不同的python基本内置数据类型。 1.python中的小括号( ):代表tuple元组数据类型,元组是一种不可变序列