小编Alo*_*kin的帖子

ANTLR还是Regex?

我正在ASP.NET/C#中编写CMS,我需要处理每个页面请求这样的事情:

<html>
<head>
    <title>[Title]</title>
</head>
<body>
    <form action="[Action]" method="get">
        [TextBox Name="Email", Background=Red]
        [Button Type="Submit"]
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

并当然更换[...]。

我的问题是我应该如何使用ANTLR或Regex来实现它?什么会更快?请注意,如果我要使用ANTLR来实现它,我认为我需要实现XML,作为[..]的附加内容。

我将需要实现参数,等等。

编辑:请注意,我的正则表达式甚至看起来像这样:

public override string ToString()
{
    return Regex.Replace(Input, @"\[
                                    \s*(?<name>\w+)\s*
                                    (?<parameter>
                                        [\s,]*
                                            (?<paramName>\w+)
                                            \s*
                                            =
                                            \s*
                                            (
                                                (?<paramValue>\w+)
                                                |
                                                (""(?<paramValue>[^""]*)"")
                                            )
                                    )*
                               \]", (match) =>
                                  {
                                      ...
                                  }, RegexOptions.IgnorePatternWhitespace);
}        
Run Code Online (Sandbox Code Playgroud)

.net c# regex performance antlr

3
推荐指数
1
解决办法
1481
查看次数

支持通配符的System.StringComparer(*)

我正在寻找一个快速的.NET类/库,它具有支持通配符(*)AND incase-sensitivity的StringComparer.有任何想法吗?

.net c# stringcomparer

3
推荐指数
1
解决办法
1827
查看次数

如何在SQL Server上执行大SQL文件?

我有大约50个T-SQL文件,其中一些是30MB,但有些是700MB.我想过手动执行它们,但如果文件大于10MB,则会在SQL Server Management Studio上引发内存不足异常.

有任何想法吗?

sql t-sql sql-server

3
推荐指数
2
解决办法
5605
查看次数

用HTML标记文本

我有一些纯文本和HTML.我需要创建一个PHP方法,它将返回相同的html,但<span class="marked">在文本的任何实例之前和</span>之后.

请注意,它应该支持html中的标记(例如,如果文本是blabla这样的话,它应该标记为何时bla<b>bla</b><a href="http://abc.com">bla</a>bla.

它应该是敏感的并且支持长文本(使用多行等).

例如,如果我使用文本"我的名字是josh"和以下html调用此函数:

<html>
<head>
    <title>My Name Is Josh!!!</title>
</head>
<body>
    <h1>my name is <b>josh</b></h1>
    <div>
        <a href="http://www.names.com">my name</a> is josh
    </div>

    <u>my</u> <i>name</i> <b>is</b> <span style="font-family: Tahoma;">Josh</span>.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

......它应该返回:

<html>
<head>
    <title><span class="marked">My Name Is Josh</span>!!!</title>
</head>
<body>
    <h1><span class="marked">my name is <b>josh</b></span></h1>
    <div>
        <span class="marked"><a href="http://www.names.com">my name</a> is josh</span>
    </div>

    <span class="marked"><u>my</u> <i>name</i> <b>is</b> <span style="font-family: Tahoma;">Josh</span></span>.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢.

html php

3
推荐指数
1
解决办法
1141
查看次数

从文件C++中读取一个数字

我有一个简单数字的文件,例如:

66
Run Code Online (Sandbox Code Playgroud)

要么

126
Run Code Online (Sandbox Code Playgroud)

如何将其读取为intC++中的值?

请注意,该文件可能还包含一些空格或数字后面输入.

我开始是这样的:

int ReadNumber() 
{
    fstream filestr;
    filestr.open("number.txt", fstream::in | fstream::app);

    filestr.close()
}
Run Code Online (Sandbox Code Playgroud)

怎么继续?

谢谢.

c++ file

3
推荐指数
1
解决办法
695
查看次数

从C#流中读取无符号的24位整数

使用BinaryReader从C#流读取无符号24位整数的最佳方法是什么?

到目前为止,我使用了这样的东西:

private long ReadUInt24(this BinaryReader reader)
{
    try
    {
        return Math.Abs((reader.ReadByte() & 0xFF) * 256 * 256 + (reader.ReadByte() & 0xFF) * 256 + (reader.ReadByte() & 0xFF));
    }
    catch
    {
        return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?

c# data-structures

3
推荐指数
1
解决办法
2433
查看次数

Google App Engine - 仅在尚未存在的情况下添加记录

在Google App Engine中,请考虑以下数据存储模型:

class Update(db.Model):
    content = db.TextProperty()
    date = db.DateTimeProperty()
    source = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)

要添加新记录,我会执行以下操作:

db.put(Update(content=..., date=..., source=...))
Run Code Online (Sandbox Code Playgroud)

如果记录尚不存在,如何将记录添加到数据存储区?最有效的方法是什么?

google-app-engine google-cloud-datastore

3
推荐指数
1
解决办法
497
查看次数

jQuery - 泡泡对话布局

我需要在某些网站上实现以下布局结构:

替代文字

如您所见,在此对话中有3个参与者.参与者说的每一行都在泡沫中.每个参与者都有不同的颜色.参与者的所有气泡与左侧的距离相同.

我正在寻找一个实现这种布局结构(或类似的布局结构)的jQuery插件.这个插件应该支持至少2和3个参与者,但更多的选项将是伟大的.

如果不存在这样的插件,我该如何实现呢?我的意思是,我如何计算每个气泡的宽度(取决于参与者数量)和每个气泡的左边距?

谢谢!

jquery

3
推荐指数
1
解决办法
1756
查看次数

Null-Coalescing运算符(??)如何在Spider中工作?

??如果左表达式为null或未定义,Spider的 null-coalescing运算符将返回正确的表达式.

var name = options.name ?? "default name";
Run Code Online (Sandbox Code Playgroud)

它是如何工作的?

javascript null-coalescing-operator spiderlang

3
推荐指数
1
解决办法
2404
查看次数

C/C++中的网络?

我是一个初学C++程序员.在C#中,我使用System.Net.Sockets.Socket类来表示网络套接字,以创建/连接服务器.我怎样才能在C/C++中做同样的事情?有没有这样的课程?

c c++ sockets networking

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