小编TJ *_*ott的帖子

正则表达式的行尾锚点并不总是有效

我正在开发一个使用正则表达式的ASP .NET(C#)项目,而我在使用行尾锚点时遇到了麻烦!我正在寻找一些文本,我想确保它只出现在字符串的末尾.

这是一些演示我的问题的示例输入.对于这种情况,我试图在最后匹配"文本"一词.

这段文字是我的示例文字

以下是我尝试过的表达式(使用IgnoreCase选项):

text\z
text\Z
text$
Run Code Online (Sandbox Code Playgroud)

现在这里是疯狂的部分.这些正则表达式都不适用于我的系统(Windows 8 Pro 64位,VS2010,.NET 4.0).我在我的项目中进行了调试,并且我还尝试了Windows 8商店中的"Regex Tester"应用程序.它不会匹配!

但是,如果我使用在线正则表达式测试程序,例如Derek Slager在他的博客文章中运行在.NET上,或者这个Silverlight在http://regexhero.net/tester/上,使用完全相同的模式和输入,它匹配没有问题的"文本"的最后一个实例.

我糊涂了.我真的需要可靠的字符串匹配,我不知道我做错了什么.

编辑:显然我不能使用编译的正则表达式.以下是使用项目实际运行的数据的示例:

class Program
{
    static void Main(string[] args)
    {
        string url = "http://192.168.0.113/MidlandGIS/rest/services/Osceola_Assessor_Data/MapServer/?f=pjson";
        string pattern = @"mapserver/\?f=(json|pjson)$";

        Regex myRegex = new Regex(pattern, RegexOptions.IgnoreCase & RegexOptions.Compiled);
        Console.Write("Trying compiled regex: ");
        if (myRegex.IsMatch(url))
            Console.WriteLine("Match");
        else
            Console.WriteLine("No match.");

        myRegex = new Regex(pattern, RegexOptions.IgnoreCase);
        Console.Write("Trying non-compiled regex: ");
        if (myRegex.IsMatch(url))
            Console.WriteLine("Match");
        else
            Console.WriteLine("No match.");

        Console.Write("Trying inline regex: ");
        if (Regex.IsMatch(url, pattern, RegexOptions.IgnoreCase)) …
Run Code Online (Sandbox Code Playgroud)

.net c# regex

4
推荐指数
1
解决办法
4175
查看次数

我应该使用哪种类型的网络服务供iOS/Android应用程序使用?

我必须编写一些Web服务来支持我们公司将要生产的一些移动应用程序(Android和iOS).因为我们使用Windows/IIS服务器,所以服务将基于WCF/.NET 4.我想知道哪种格式在移动端最容易使用.我知道有JSON,SOAP和其他,我只是不知道哪个在移动环境中有最好的支持.建议?

我打算拥有一组由两个移动平台使用的WCF服务.

.net wcf android ios

2
推荐指数
1
解决办法
507
查看次数

标签 统计

.net ×2

android ×1

c# ×1

ios ×1

regex ×1

wcf ×1