python - 如何从匹配的表达式中找到特定的单词?

标签 python regex grouping

我有以下行:

/begin MEASUREMENT MSM_Struct.ANYNAME"Status ASC" 

我想从该行找出ANYNAME。我尝试了以下表达式:

_regex_struct = re.compile(r'/begin MEASUREMENT MSM_Struct.[\w]+')

使用group(0)给我这个输出:

/begin MEASUREMENT MSM_Struct.ANYNAME

如何在输出中获取ANYNAME

最佳答案

您需要转义 . (因为您需要匹配文字点,而不是任何字符),用捕获括号将 \w+ 括起来(另外,删除多余的[...]\w)并获取m.group(1)中的值。

_regex_struct = re.compile(r'/begin\s+MEASUREMENT MSM_Struct\.(\w+)') 
m = _regex_struct.search(s)
if m:
    print(m.group(1))

请参阅regex demoPython demo .

请注意,我使用 \s+ 来匹配 1 个或多个空格而不是常规空格。

关于python - 如何从匹配的表达式中找到特定的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55374112/

相关文章:

Python:未定义全局名称 'maximum'

python - 如何使用 Python 将 XML 中的所有信息放入字典中

java - 使用正则表达式将相似的 xml 标签合并为单个标签

python - 如何使用 re.findall() 获得重叠匹配?

html - 了解 CSS 分组/嵌套

python - virtualenv 在 Ubuntu 上创建名为 'local' 的目录

python - 按用户索引计算 pandas 数据框中丢失的行数

javascript - 在双引号字符串中转义撇号 (Javascript)

arrays - 如何在Powershell中对数组进行分组?

r - 如何按每个 id 的多列连接表