正则表达式解析问题ansible

regex parsing issue ansible

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

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

这是我为获取它而编写的正则表达式,它有效:

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

如果密码有(a or t or s or u or i 在最后)无法获取整个密码只能获取 z

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

不确定如何解决这个问题

如果您使用的语言支持 Positive Lookbehind,试试这个正则表达式

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

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

  • (?<=Password: ) 此处使用 Positive Lookbehind (?<=) 来匹配此字符串 Password:.
  • 之后的任何内容
  • [^\s] 来匹配任何不是 space.
  • 的东西

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

Password: ([^\s]*)

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

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