我有一封我希望解析的电子邮件,其正文包含
等内容[Event Type] HireEmployee
[REQUESTOR] POLM4
[SIN] 092
[Employee Name] JOHN,SMITH
[Existing payroll record] False
[Existing PERM OA Mnemonic]
我需要能够在每个标头之后解析出信息以存储到变量中。
(\[REQUESTOR\]\t)[a-zA-Z0-9]+
会给我一行
[REQUESTOR] POLM4
但我只想让它返回“POLM4”
由于
编辑: 我正在进行测试 http://regexpal.com/
答案 0 :(得分:1)
把你不想要的东西放在非捕获组中。
例如,您可以执行以下操作:
,而不是原始表达式(?:\[REQUESTOR\]\t)([a-zA-Z0-9]+)
No2 [REQUESTOR]处于非捕获组中,其余部分位于捕获组中。
非捕获组是您要检查但尚未保存的组。
答案 1 :(得分:0)
你可以在后面做一个积极的看法。你的正则表达式将成为例如
(?<=\[REQUESTOR\]\t)[a-zA-Z0-9]+
它使用[REQUESTOR]匹配但不包括在匹配中。
答案 2 :(得分:0)
您需要将结果[REQUESTOR] POLM4
存储在变量var1中。
并将var1上的正则表达式用作^[^\)]*\]
。
这将删除]
之前的字符,包括]
。因此,您将获得所需的字符串POLM4
。