Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从字符串“获取密码”;密码为Rtt3Ved36“;通过regexp?_C#_.net_Regex - Fatal编程技术网

C# 如何从字符串“获取密码”;密码为Rtt3Ved36“;通过regexp?

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 Rtt3Ved36”(不带“is”)

(?您可以使用

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;
}