【发布时间】:2018-06-19 00:01:22
【问题描述】:
如何使用正则表达式匹配Passphrase=字符串和\n字符之间的文本密码(选择:testpasssword)?密码可以包含任何字符。
我的部分解决方案:Passphrase.*(?=\\nName) => Passphrase=testpasssword
[wifi_d0b5c2bc1d37_7078706c617967726f756e64_managed_psk]\nPassphrase=testpasssword\nName=pxplayground\nSSID=9079706c697967726f759e69\nFrequency=2462\nFavorite=true\nAutoConnect=true\nModified=2018-06-18T09:06:26.425176Z\nIPv4.method=dhcp\nIPv4.DHCP.LastAddress=0.0.0.0\nIPv6.method=auto\nIPv6.privacy=disabled\n
【问题讨论】:
-
用
Passphrase=(.+)捕获它。 -
你是字面意思还是LF?
-
这是我的情况:regex101.com/r/AmT6PH/1。 @Wiktor Stribiżew 在我的情况下不起作用。
-
您确定您正在测试正确的 literal 字符串吗?显示代码。您确定您在此处发布了 literal 字符串,而不是 string literal?请参阅
Passphrase=(.+?)\\n,但在您说“它有效”或“它不起作用”之前,请检查代码中的两种解决方案,而不是在线正则表达式测试器。 -
试试
[^=]*(?=\\nName)。但我怀疑如果密码可以包含=,它就不会是防弹的。最好的办法是使用捕获组。
标签: regex qt qregularexpression