条件是字符串可能是“密码Rtt3Ved36”(没有“是”)。
(?<=password\ is|password\ ).*
正则表达式不起作用,因为总是返回“是Rtt3Ved36”(但我需要“Rtt3Ved36”)。如何在OR状态下保持订单?
答案 0 :(得分:2)
您可以使用
password(?: is)?\s*(.*)
并抓住第1组值。
请参阅regex demo。
<强>详情
password
- 文字子字符串(?: is)?
- 可选的子字符串空格+ is
\s*
- 0+空白(.*)
- 第1组:除换行符之外的任何0 +字符。在C#中:
var m = Regex.Match(s, @"password(?: is)?\s*(.*)");
var result = string.Empty;
if (m.Success)
{
result = m.Groups[1].Value;
}
答案 1 :(得分:-3)
根据这个网站:https://regex101.com/你的正则表达式确实有效并返回“Rtt3Ved36”。