需要帮助使用Regex从字符串中获取多个值。我很好从字符串中获取单个值但不是多个。
我有这个字符串:
[message:USERPIN]Message to send to the user
我需要提取USERPIN和消息。我知道如何获得销钉:
Match sendMessage = Regex.Match(message, "\\[message:[A-Z1-9]{5}\\]");
只是不确定如何同时获取这两个值。
感谢您的帮助。
答案 0 :(得分:4)
使用命名组轻松访问:
Match sendMessage = Regex.Match(message,
@"\[message:(?<userpin>[A-Z1-9]{5})\](?<message>.+)");
string pin = sendMessage.Groups["userpin"].Value;
string message = sendMessage.Groups["message"].Value;
答案 1 :(得分:0)
var match = Regex.Match(message, @"\[message:([^\]]+)\](.*)");
之后 - 使用调试器检查match.Groups
- 您必须看到2个字符串。
答案 2 :(得分:0)
您需要使用编号组。
Match sendMessage = Regex.Match(message, "\\[message:([A-Z1-9]{5})(.*)\\]");
string firstMatch = sendMessage.Groups[1].Value;
string secondMatch = sendMessage.Groups[2].Value;