正则表达式的模式

时间:2012-07-11 12:16:03

标签: c# regex

仅选择以#####开头并以 mysig 结尾的字符串。在这两者之间允许任何东西,但不允许使用html标签。 string s =“##### anything mysig anthing ##### anything othersig 任何内容#####任何 mysig ”;

othersig 结尾的一个

不应该被选中

这是我在寻找的东西

字符串str =“#####此处的任何内容/ 我的(sig_nature) /此处的任何内容#####此处的任何内容/ Notmine(sig_nature) /任何内容去这里#####这里有什么/ 我的(sig_nature) /“;

我想要的是所有以#####开头并以/ 我的(sig_nature) /

结尾的文字

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

此匹配从#####到它可以找到的最接近的mysig,但前提是没有#####且中间没有尖括号(因此没有HTML标记)。< / p>