0

仅选择以 ##### 开头并以mysig结尾的字符串。在这两者之间任何东西都是允许的,但不是 html 标签。string s="##### mysig anthing ##### any othersig any ##### any mysig ";

一个以othersig结尾的不应该被选中

这是我一直在寻找的

string str="##### 这里的任何东西 / My(sig_nature) / 这里的任何东西 ##### 这里的任何东西 / Notmine(sig_nature) / 这里的任何东西 ##### 这里的任何东西 / My(sig_nature) / ";

我想要的是所有以 ##### 开头并以 / My(sig_nature) /结尾的文本

foreach(Regex.Matches 中的匹配匹配(str,@"[#]{5}.*/**My(sig_nature)**/")) Console.WriteLine(match.Value.toString());

4

2 回答 2

0

试试这个:

Regex.IsMatch(strInput, @"^#####[^<>]+mysig$");

解释:

^         the beginning of the string

#####     '#####'

\.+       '.' (1 or more times (matching the most amount possible))

mysig     'mysig'

$         before an optional \n, and the end of the string
于 2012-07-11T12:24:26.940 回答
0

试试这个(很多猜测进入这个):

#####(?:(?!mysig|#####)[^<>])*mysig

这匹配它可以找到#####的最接近的mysig位置,但#####前提是中间没有或没有尖括号(因此没有 HTML 标记)。

于 2012-07-11T12:54:12.067 回答