python - 正则表达式匹配后选择文本

标签 python regex

我真的很迷恋Python中的正则表达式。我有一个包含如下项目的字符串:

"""
(001,002) SI [SomeTag]:Element
(001,003e) LO [SomeTag2]:Element2
(001,004r) LR [SomeTag3]:Element3
(001,006) HI [SomeTag4]:Element4
"""

我想选择“Element2”。我尝试选择行

me = re.search("\(001,003e\)(.*)", obj)

它给了我整行内容。但我只想要“Element2”。如何选择正则表达式匹配的行中“:”之后的所有内容(例如“(001,003e)”)。

提前致谢!

最佳答案

添加上面的评论作为答案:

您可以使用 negated character class并使用 \(001,003e\)[^:]*:(.*)。第二组将返回“Element2”。

关于python - 正则表达式匹配后选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743271/

相关文章:

python - 解析 HTML 并保留原始内容

python - Pyplot 在图例中显示不同的颜色,但以相同的颜色绘制

java - 复杂的正则表达式语句

Java使用否定前瞻将字符串拆分为字符

java - 如何提取字符串的特定部分并用相同的提取值替换,但在不同的情况下 - 使用java

python - <head> 中的 lxml 和 <noscript>

python - 我该如何处理最后的跳跃?

python - 如何将 BeautifulSoup HREF 搜索从 <a> 扩展到 <td>

javascript - 文本区域的 jQuery 输入过滤器

CSS 正则表达式选择器匹配一个或另一个条件?