是否可以通过正则表达式找到字符串中匹配的子模式,假设我们想通过“\d{1,}D{1,}”检查“2D 3”。
string pattern = "\d{1,}D\d{1,}";
string str = "2D3";
var r = new Regex(pattern)
if(r.IsMatch(str))
{
Dictionary<string, string> Out = new Dictionary<string, string>();
//Some Code Here???
Log(Out);
}
/////////////Out Must Be/////////
({"\d{1,}", "2"},
{"D", "D"},
{"\d{1,}", "3"})
////////////////////////////////
字符串
1条答案
按热度按时间ukxgm1gy1#
正如注解中所提到的,您正在尝试获取每个组的值,因此您需要在正则表达式模式中使用捕获组
()
。字符串
并提供索引以获取每个组的值。
型
我不认为没有捕获组,你可以根据正则表达式(部分)按部分捕获每个值。如果您允许用户按@AdrianHHH提到的部分/组输入正则表达式,那么您可以通过分别在前端和后端添加
(
和)
来操作正则表达式模式。由于您希望捕获每个正则表达式模式及其相应的匹配值,因此将两个值存储在
Dictionary
中并不是一个好的选择,因为Dictionary
不允许存储相同的键。型