仍然是正则表达式的新手,我需要使用PowerShell。 +它应该回馈所有事件......
这是字符串的示例(一个大行):
{ “类型”: “HM”, “ADR”: “ 30CC170 ”, “状态”: “01:的 FE ”},{ “类型”: “HM”, “ADR”: “ 37519701 ”, “状态”: “00:FF”},{ “类型”: “HM”, “ADR”:“ 3AD95D01 ”, “状态”: “FF:的 FE ”},
现在,搜索 FE 并返回值30CC1701& 3AD95D01(总是8个字符,并且在adr“:”之后立即显示)
任何可以提供帮助的人?会很棒:o)
答案 0 :(得分:0)
我可以为你提供一个很好的正则表达式来开始玩。您应该将它与全局标志一起使用以提取所有出现次数
\"adr\":\"([^"]+)\",\"state\":\"[0-9A-Fa-f]{2}:FE\"
正则表达式在下面解释
\"adr\": - Match "adr":
\"([^"]+)\" - Capture a quoted string [^"]+ matches any non quoted character
,\"state\": - Matches ,"state":
\"[0-9A-Fa-f]{2}\" - Match a string in format "xx:FE" where x represent any a hex number 0-9 or A-F.
答案 1 :(得分:0)
"adr":"([^"]{8})"[^}]+?FE
将是一种方法,其中第1组捕获8个字符的值(或6到8之间 - {6,8}
)。
(?<="adr":")[^"]{8}(?="[^}]+FE)
将捕获与非捕获前瞻/后方的整个匹配相同的内容。
返回所有匹配项是特定API的函数,而不是正则表达式。我相信,它将是PowerShell中的-AllMatches
选项。