regex - 用于字符串解析的 Python 正则表达式
问题描述
我正在尝试学习 python 的正则表达式并尝试在字符串中获取令牌和会话值。我得到如下所示,但有没有更好的方法从这里获取令牌和会话值?这是我的代码也是字符串:
a ={}
import re
b ="token: d9706bc7-c599-4c99-b55e-bc49cba4bc0d\nsession:NjA5MWE2MGQtMTgxNS00NWY5LTkwYWQtM2Q0MWE3OTFlNTY0\n"
a=re.findall("([A-Za-z]+[\d@]+[\w@]*|[\d@]+[A-Za-z]+[\w@])",b)
print(a[5]) #this is for session value "NjA5MWE2MGQtMTgxNS00NWY5LTkwYWQtM2Q0MWE3OTFlNTY0"
print ([a[0:5]]) #this is for getting token as array d9706bc7 c599 4c99 b55e bc49cba4bc0d
How can I get the token value with - as in the below:
"d9706bc7-c599-4c99-b55e-bc49cba4bc0d"
解决方案
您可以使用一个非常简单的正则表达式来获取它:
a=re.findall("[a-zA-Z0-9-]+", b)
print(a[1]) # Outputs d9706bc7-c599-4c99-b55e-bc49cba4bc0d
更短,会给你同样的结果:
a=re.findall("[\w-]+", b)
print(a[1]) # Outputs d9706bc7-c599-4c99-b55e-bc49cba4bc0d
推荐阅读
- java - anyMatch 是否像 filter + findFirst 一样具有确定性?
- r - 如何过滤 R 中的重叠多边形(并保留数据)
- c# - System.argumentnullexception 为 null 使用 Microsoft azure 存储
- angular - 本地化后如何对角材料下拉列表进行排序/排序
- jenkins - 如何在 jenkins config.xml 中使用环境变量
- date - DAX 日期月份名称列通过开关
- typescript - 即使取消订阅,订阅者也会触发
- java - 如何检查 Hibernate 代理的代码长度?
- node.js - 如何在电子中创建和管理 npm 进程
- reactjs - 如何忽略组件的 Material UI 主题样式?