String =“每年不超过10%/适用的”
Regex I'm trying
(?<=shall not exceed)(.*)(?=per annum)
Output Required = 10 per cent. per annum
Output coming = 10 per cent.
但是在上述正则表达式中,它不包含“每年”,如何包含“每年”。我们正在asp.net
中进行此操作我们使用的Asp.net中的代码...
string regularExpressionPattern = regExPattern.ToString();
string inputText = inputString
Regex re = new Regex(regularExpressionPattern);
foreach (Match m in re.Matches(inputText))
{
Response.Write(m.Groups[1].Value.ToString());
}
答案 0 :(得分:1)
使per annum
成为使用模式的一部分,因为当它位于正向超前时,匹配的文本不会添加到整个匹配值中。
您可以使用
string inputText = "shall not exceed 10 per cent. per annum/that applicable";
Regex re = new Regex("shall not exceed(.*?per annum)");
foreach (Match m in re.Matches(inputText))
{
Console.WriteLine(m.Groups[1].Value);
}
请参见C# demo
详细信息
shall not exceed
-文字字符串(.*?per annum)
-捕获组1:
.*?
-除换行符外的0+个字符,并且尽可能少per annum
-文字字符串。可以通过m.Groups[1].Value
访问第1组的值。