尝试创建一个可以在文件中找到与此类似的行的正则表达式时,我遇到了麻烦:
轴承89abddfb-2cff-4fda-83e6-13221f0c3d4f
它的开头应为Bearer,后跟空格,其后的令牌应采用相同的格式: [十六进制,八字符]-[十六进制,四字符]-[十六进制,四字符]-[十六进制,四字符]-[十六进制,十二字符]
任何帮助将不胜感激
PS:也许只是令牌格式的正则表达式就足以在没有承载者不确定的情况下找到令牌
答案 0 :(得分:2)
RegEx已通过PowerShell测试
'Bearer\s[\d|a-f]{8}-[\d|a-f]{4}-[\d|a-f]{4}-[\d|a-f]{4}-[\d|a-f]{12}'
修改:短版
'Bearer\s[\d|a-f]{8}-([\d|a-f]{4}-){3}[\d|a-f]{12}'
答案 1 :(得分:1)
您可以使用正则表达式:
^Bearer\s[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
或
^Bearer\s[a-f0-9-]{36}$
答案 2 :(得分:1)
import re
data = "Bearer 89abddfb-2cff-4fda-83e6-13221f0c3d4f"
print(re.findall(r'(Bearer )([a-f\d]{8})-([a-f\d]{4})-([a-f\d]{4})-([a-f\d]{4})-([a-f\d]{12})', data))
答案 3 :(得分:1)
您可以使用RegEx Bearer [\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}
Bearer
偶尔与Bearer
匹配
[\da-f]
匹配一个十六进制值
{n}
与前面的组匹配n
次
答案 4 :(得分:1)
您还可以使用此正则表达式 ^(?i)Bearer(。*)(?-i),因为它也适用于大小写。