Regex apikey模式的正则表达式
我不是正则表达式方面的专家,尝试过各种方法,但都不管用。我试图在日志文件中找到apikey的特定模式Regex apikey模式的正则表达式,regex,bash,sed,command-line,grep,Regex,Bash,Sed,Command Line,Grep,我不是正则表达式方面的专家,尝试过各种方法,但都不管用。我试图在日志文件中找到apikey的特定模式 [SOME TEXT]http_apikey=""abc123pq-ab33-ffef-979f-d78a3d27g84f[SOME TEXT] [SOME TEXT]http_apikey=""abc1-23-pq-ab33-ffef-979f-d78a3d27g84f[SOME TEXT] [SOME TEXT]http_apikey=""abc1-23-pq-ab33-ffef-979f-
[SOME TEXT]http_apikey=""abc123pq-ab33-ffef-979f-d78a3d27g84f[SOME TEXT]
[SOME TEXT]http_apikey=""abc1-23-pq-ab33-ffef-979f-d78a3d27g84f[SOME TEXT]
[SOME TEXT]http_apikey=""abc1-23-pq-ab33-ffef-979f-d78a3d27g84f[SOME TEXT]
[SOME TEXT]http_apikey=""abc1-23pq-ab33-ffef-979f-d78a-3d27-g84f[SOME TEXT]
[SOME TEXT]http_apikey=""abc123pq-ab33ffef-979fd78a-3d27g84f[SOME TEXT]
[SOME TEXT]http_apikey=""a7wLi3gPFon7VeBUdN7ZE8lQjofa22ie[SOME TEXT]
我想找到所有包含一个或多个'-'字符的apikey;我想通过grep实现单个正则表达式;我首先尝试搜索“http_apikey.{0,40}”,然后通过管道搜索,然后再次搜索字符串中的“-”,但速度非常慢 单个grep将是:
cat文件| grep'apikey=\“\”*[-].'
或仅匹配密钥本身:
cat文件| grep-oP'(?单个grep将是:
cat文件| grep'apikey=\“\”*[-].'
或仅匹配密钥本身:
cat文件| grep-oP'(?您可以使用字符类[a-z0-9]
而不是使用
使用grep,可以在字符类之间匹配至少2倍的连字符:
grep 'apikey=""[a-z0-9][a-z0-9]*-[a-z0-9][a-z0-9]*-[a-z0-9]' file
如果可以使用egrep,则可以使用量词重复组2次或更多次{2,}
:
egrep 'apikey=""[a-z0-9]+(-[a-z0-9]+){2,}' file
您可以使用字符类[a-z0-9]
而不是使用
使用grep,可以在字符类之间匹配至少2倍的连字符:
grep 'apikey=""[a-z0-9][a-z0-9]*-[a-z0-9][a-z0-9]*-[a-z0-9]' file
如果可以使用egrep,则可以使用量词重复组2次或更多次{2,}
:
egrep 'apikey=""[a-z0-9]+(-[a-z0-9]+){2,}' file