我正在尝试创建一个与单词(仅 az)不匹配的正则表达式,如果单词:的末尾有 a但其他方式匹配它。然而,这个词在一个更大的正则表达式的中间,所以我(不认为)你可以使用否定的lookbehind和$元字符。
我尝试了这种消极的前瞻:
([a-z]+)(?!:)
Run Code Online (Sandbox Code Playgroud)
但是这个测试用例
example:
Run Code Online (Sandbox Code Playgroud)
只匹配
exampl
Run Code Online (Sandbox Code Playgroud)
而不是失败。
发生的事情是我正在读取加密数据包,我遇到一个损坏的数据包,它会返回一个非常大的随机数.
size_t nLengthRemaining = packet.nLength - (packet.m_pSource->GetPosition() - packet.nDataOffset);
seckey.SecretValues.m_data.resize(nLengthRemaining);
Run Code Online (Sandbox Code Playgroud)
在这段代码中,m_data是一个std::vector<unsigned char>.nLengthRemaining由于数据包损坏而过大,因此抛出调整大小函数.问题不在于调整大小(我们处理异常),但调整大小已经损坏了内存,这会导致更多异常.
我想要做的是在调用resize之前知道长度是否太长,然后只有调用resize才可以.我已经尝试在调用resize之前放入此代码:
std::vector<unsigned char>::size_type nMaxSize = seckey.SecretValues.m_data.max_size();
if(seckey.SecretValues.m_data.size() + nLengthRemaining >= nMaxSize) {
throw IHPGP::PgpException("corrupted packet: length too big.");
}
seckey.SecretValues.m_data.resize(nLengthRemaining);
Run Code Online (Sandbox Code Playgroud)
此代码使用std :: vector max_size成员函数来测试nLengthRemaining是否更大.但这肯定不可靠,因为nLengthRemaining仍然小于nMaxSize,但显然仍然足以导致调整大小出现问题(nMaxSize为4xxxxxxxxx且nLengthRemaining为3xxxxxxxxx).
另外,我还没有确定调整大小的异常.它不是std :: length_error,它不是std :: bad_alloc.真正抛出的例外对我来说并不重要,但我很想知道.
顺便说一句,您知道,这段代码在正常情况下可以正常工作.这种损坏数据包的情况是它疯狂的唯一地方.请帮忙!谢谢.
更新:
@迈克尔.现在,如果数据包大于5 MB,我将忽略该数据包.我将与其他团队成员讨论可能验证数据包的问题(它可能已存在,我只是不知道它).我开始认为它确实是我们的STL版本中的一个错误,它抛出的异常甚至不是std :: exception,这让我很惊讶.我将尝试从我的主管那里找出我们正在运行的STL版本(我将如何检查?).
另一个更新:我只是证明它是我在Visual Studio 6开发机器上使用的STL版本中的一个错误.我写了这个示例应用程序:
// VectorMaxSize.cpp:定义控制台应用程序的入口点.//
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <math.h>
#include <typeinfo>
typedef std::vector<unsigned char> vector_unsigned_char;
void fill(vector_unsigned_char& v) {
for (int i=0; i<100; i++) v.push_back(i);
}
void …Run Code Online (Sandbox Code Playgroud) 这是一个刚刚开始进行BB开发的人的问题.任何指导都非常感谢.
如何实施基于地图的BlackBerry应用程序,如Yelp和Google Map?与基于Web的版本一样.BB的Yelp允许您根据当前或指定的位置搜索餐馆等.搜索结果以列表或地图视图的形式显示搜索结果的标记.Yelp的地图由Bing提供支持.如何在BB代码中调用地图以及标记?对于列表视图,用于从数据库中检索结果列表的内容.可以使用任何数据库吗?
适用于BB的Google Map 3.2现在支持图层.再次,如何调用Google地图?您还可以直接在地图上选择特定位置的标记(即Wiki,加油站),并查看该位置的信息(即Wiki,加油站地址).这是怎么做到的?
我在地图技术和BB开发方面的知识非常有限,因此欢迎基本或深入的反馈.
我试图制作一个具有正确Divide功能的程序.我的代码是:
#include <iostream>
using namespace std;
double x,y,z,a;
double divide(x,y) {
if (x >= y) {
x=z;
z=y;
y=x;
return(x/y);
}
else
return(y/x);
}
int main()
{
double x,y,z ;
cout << "Enter x " <<endl;
cin >> x;
cout << "Enter y " <<endl;
cin >> y;
a = divide (x,y);
cout << a <<endl;
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我有2个错误:
expected `,' or `;' before '{' token
Run Code Online (Sandbox Code Playgroud)
就{行了.右键下方的双分频(x, y)线
而另一个错误
divide cannot be used as …Run Code Online (Sandbox Code Playgroud) 我该如何转换这个字符串:
This string contains the Unicode character Pi(?)
Run Code Online (Sandbox Code Playgroud)
转换为转义的ASCII字符串:
This string contains the Unicode character Pi(\u03a0)
Run Code Online (Sandbox Code Playgroud)
和反之亦然?
C#中可用的当前编码将π字符转换为"?".我需要保留那个角色.
我有一个ItemsControl数据绑定到ObservableCollection.我在后面的代码中有这个方法,它在列表中添加了一个新模型.然后我想将新项目(在列表底部)滚动到视图中.
ItemsControl当我查询大小时,我认为它的大小尚未更新,因为ActualHeight模型的添加之前和之后是相同的.此代码的效果是滚动到略高于新项目的点.
我怎么知道新的东西ActualHeight会是什么?
这是我的代码:
ViewModel.CreateNewChapter();
var height = DocumentElements.ActualHeight;
var width = DocumentElements.ActualWidth;
DocumentElements.BringIntoView(new Rect(0, height - 1, width, 1));
Run Code Online (Sandbox Code Playgroud) 我是新手在MVC框架中使用Html.DropDownList,并且很难理解如何从我的数据库中选择数据以绑定到DropDownList.是否有一种从标准LINQ查询返回可绑定列表(例如SelectList)的简单方法?
我有一个.net网站,它驻留在win2k3服务器上运行IIS 6.0的网络服务器上.这包括通过UNC名称指向文件服务器的虚拟目录."connect as"设置为使用AD域中的服务帐户,该帐户可以访问Web应用程序以及写入和修改文件服务器文件夹.我目前正在使用服务帐户别名,并在Web服务器上的Miscrosoft.net临时文件文件夹上设置了相应的权限.我无法创建写目录或保存文件.任何信息将不胜感激.
使用Subversion,有没有办法将一个特定修订的更改合并到主干?基本上我已经做了很多修改,但我需要更新我的工作副本只有最新版本,而不是所有其他版本.
我会做某种合并吗?
我正在尝试编写一个批处理脚本(CMD @ Windows XP Pro),它将在7zip和putty/psftp的帮助下自动下载和解压缩包
如果我有一个包下载的URL http://somesite.org/packages/package.zip如何使用putty在命令行下载?
此外,如果你有更好的方法来做到这一点也会有所帮助.
c# ×2
c++ ×2
.net ×1
.net-3.5 ×1
7zip ×1
asp.net-mvc ×1
blackberry ×1
cmd ×1
data-binding ×1
datatemplate ×1
directory ×1
encoding ×1
file-upload ×1
gis ×1
google-maps ×1
gps ×1
itemscontrol ×1
linq ×1
putty ×1
regex ×1
resize ×1
selectlist ×1
stl ×1
svn ×1
unicode ×1
vector ×1
virtual ×1
wpf ×1