using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string fullText = @"Borrower: Guarantor:
{{0_SH}} By: {{1_SH}} (seal)
By: (seal)
Print Name:
Print Name:
Phillip Moore Phillip Moore
Date: {{1_DH}}
2/23/2022
Title: Owner
Date: {{0_DH}}
2/23/2022
12 of 12 (LOC 2020) Borrower Initials {{0_IH}}
Borrower: Guarantor:
{{0_SH}} By: {{1_SH}} (seal)
By: (seal)
Print Name:
Print Name:
Phillip test Moore Phillip test Moore
Date: {{1_DH}}
2/23/2022
Title: Owner
Date: {{0_DH}}
2/23/2022
12 of 12 (LOC 2020) Borrower Initials {{0_IH}}";
string pattern = @"\bPrint\sName:\r?\n(?!Print\sName)(?'guarantor1'[a-zA-Z\s',.&\d\--]+?)(?= \1\r?$)";
Regex rgx = new Regex(pattern, RegexOptions.Multiline);
MatchCollection matches = rgx.Matches(fullText);
if (matches.Count > 0)
{
string guarantor1 = matches[0].Groups["guarantor1"].Value;
Console.WriteLine(guarantor1.Trim());
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nIGZ1bGxUZXh0ID0gQCJCb3Jyb3dlcjogR3VhcmFudG9yOgp7ezBfU0h9fSBCeToge3sxX1NIfX0gKHNlYWwpCkJ5OiAoc2VhbCkKUHJpbnQgTmFtZToKUHJpbnQgTmFtZToKUGhpbGxpcCBNb29yZSBQaGlsbGlwIE1vb3JlCkRhdGU6IHt7MV9ESH19CjIvMjMvMjAyMgpUaXRsZTogT3duZXIKRGF0ZToge3swX0RIfX0KMi8yMy8yMDIyCjEyIG9mIDEyIChMT0MgMjAyMCkgQm9ycm93ZXIgSW5pdGlhbHMge3swX0lIfX0KCkJvcnJvd2VyOiBHdWFyYW50b3I6Cnt7MF9TSH19IEJ5OiB7ezFfU0h9fSAoc2VhbCkKQnk6IChzZWFsKQpQcmludCBOYW1lOgpQcmludCBOYW1lOgpQaGlsbGlwIHRlc3QgTW9vcmUgUGhpbGxpcCB0ZXN0IE1vb3JlCkRhdGU6IHt7MV9ESH19CjIvMjMvMjAyMgpUaXRsZTogT3duZXIKRGF0ZToge3swX0RIfX0KMi8yMy8yMDIyCjEyIG9mIDEyIChMT0MgMjAyMCkgQm9ycm93ZXIgSW5pdGlhbHMge3swX0lIfX0iOwogICAgICAgICAgICBzdHJpbmcgcGF0dGVybiA9IEAiXGJQcmludFxzTmFtZTpccj9cbig/IVByaW50XHNOYW1lKSg/J2d1YXJhbnRvcjEnW2EtekEtWlxzJywuJlxkXC0tXSs/KSg/PSBcMVxyPyQpIjsKICAgICAgICAgICAgUmVnZXggcmd4ID0gbmV3IFJlZ2V4KHBhdHRlcm4sIFJlZ2V4T3B0aW9ucy5NdWx0aWxpbmUpOwogICAgICAgICAgICBNYXRjaENvbGxlY3Rpb24gbWF0Y2hlcyA9IHJneC5NYXRjaGVzKGZ1bGxUZXh0KTsKICAgICAgICAgICAgaWYgKG1hdGNoZXMuQ291bnQgPiAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdHJpbmcgZ3VhcmFudG9yMSA9IG1hdGNoZXNbMF0uR3JvdXBzWyJndWFyYW50b3IxIl0uVmFsdWU7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShndWFyYW50b3IxLlRyaW0oKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgkKfQ==