正则表达式解析问题ansible

时间:2018-05-22 21:17:54

标签: regex ansible regex-greedy

我正试图通过正则表达式获取密码。但是很难抓住整个密码:

Password: Wi!CYtB!%w8z    (Please change it immediately!)

这是我写的抓住它的正则表达式,它有效:

[^Password: ].+[^    (Please change it immediately!)]

如果密码(a或t或s或u或i在最后)无法抓取整个密码只能抓到z

,问题就会出现

Password: Wi!CYtB!%w8za (Please change it immediately!)

不确定如何解决此问题

1 个答案:

答案 0 :(得分:0)

如果您使用的语言支持Positive Lookbehind,请尝试使用此正则表达式

(?<=Password: )[^\s]*

演示:https://regex101.com/r/8xxwhz/1/

  • (?<=Password: )此处(?<=)使用正面Lookbehind来匹配此字符串Password:之后的所有内容。
  • [^\s]匹配任何不是空格的内容。

如果您的语言不支持Positive Lookbehind,您可以使用群组。例如:

Password: ([^\s]*)

确保您使用group(1)作为密码。

演示:https://regex101.com/r/8xxwhz/2/