Unrecognized escape sequence \_

само регулярное выражение Нормально ищется в примере . Когда начинаю искать в Unity, выдаёт ошибку : введите сюда описание изображения

ArgumentException: parsing "(?=\_)([\s\S]+?)(?=\_)" - Unrecognized escape sequence \_.
System.Text.RegularExpressions.RegexParser.ScanCharEscape () (at <3845a180c26b4889bc2d47593a665814>:0)
System.Text.RegularExpressions.RegexParser.ScanBasicBackslash () (at <3845a180c26b4889bc2d47593a665814>:0)
System.Text.RegularExpressions.RegexParser.ScanBackslash () (at <3845a180c26b4889bc2d47593a665814>:0)
System.Text.RegularExpressions.RegexParser.ScanRegex () (at <3845a180c26b4889bc2d47593a665814>:0)
System.Text.RegularExpressions.RegexParser.Parse (System.String re, System.Text.RegularExpressions.RegexOptions op) (at <3845a180c26b4889bc2d47593a665814>:0)
System.Text.RegularExpressions.Regex..ctor (System.String pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout, System.Boolean useCache) (at <3845a180c26b4889bc2d47593a665814>:0)
System.Text.RegularExpressions.Regex.Matches (System.String input, System.String pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) (at <3845a180c26b4889bc2d47593a665814>:0)
System.Text.RegularExpressions.Regex.Matches (System.String input, System.String pattern) (at <3845a180c26b4889bc2d47593a665814>:0)

строка для поиска:

0_0_ВЫДЕЛЕНИЕ ЛИНЕЙНЫХ_L1000000001.png

надо найти _0 и _ВЫДЕЛЕНИЕ ЛИНЕЙНЫХ Код:

string pattern_2_3 = @"(?=\_)([\s\S]+?)(?=\_)";
string tempStringUrl = "0_0_ВЫДЕЛЕНИЕ ЛИНЕЙНЫХ_L1000000001.png";
var result_2_3 = Regex.Matches(tempStringUrl, pattern_2_3).Cast<Match>().ToList();
Debug.Log("result_2_3[0]=" + result_2_3[0].ToString() + "result_2_3[1]" + result_2_3[1].ToString());

Ответы (1 шт):

Автор решения: tCode

Если я правильно понял, то будет так:

(?=_)([\s\S]+?)(?=_)

Regex101.com

→ Ссылка