C# 如何从字符串“获取密码”;密码为Rtt3Ved36“;通过regexp?
条件是字符串可以是“password Rtt3Ved36”(不带“is”)C# 如何从字符串“获取密码”;密码为Rtt3Ved36“;通过regexp?,c#,.net,regex,C#,.net,Regex,条件是字符串可以是“password Rtt3Ved36”(不带“is”) (?您可以使用 password(?: is)?\s*(.*) 并获取组1的值 看 详细信息 密码-文字子字符串 (?:is)?-可选的子字符串空间+is \s*-0+空格 (.*)-第1组:换行符以外的任何0+字符 在C#中: 根据这个网站:你的正则表达式可以工作并返回“Rtt3Ved36”。如果密码以“is”开头怎么办?这更适合作为注释。如果将\s*更改为\s+?我的快速测试输入了密码问题密码问题分别给出了su
(?您可以使用
password(?: is)?\s*(.*)
并获取组1的值
看
详细信息
密码
-文字子字符串
(?:is)?
-可选的子字符串空间+is
\s*
-0+空格
(.*)
-第1组:换行符以外的任何0+字符
在C#中:
根据这个网站:你的正则表达式可以工作并返回“Rtt3Ved36”。如果密码以“is”开头怎么办?这更适合作为注释。如果将\s*
更改为\s+
?我的快速测试输入了密码问题密码问题分别给出了sue
和问题
的结果,但我希望它们给出相同的结果。@Adrianhh这是微调。您也可以使用一个词的边界,
password(?: is)?\s*(.*)
var m = Regex.Match(s, @"password(?: is)?\s*(.*)");
var result = string.Empty;
if (m.Success)
{
result = m.Groups[1].Value;
}