我想创建一个javascript正则表达式来测试一个只接受0到9,a到z,A到Z以及以下字符的字符串的字符串:+*.总长度在1到10个字符之间.
我这样做了:
var reg = /[0-9A-Za-z\+\*\.]{1,12}/;
if(!reg.test($('#vat_id').val())) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
我在http://www.regular-expressions.info/javascriptexample.html测试了它,我可以输入"$ av"并返回"成功匹配"
哪里出错了?
编辑:正则表达式现在似乎很好:
var reg = /^[0-9A-Za-z\+\*\.]{1,10}$/;
Run Code Online (Sandbox Code Playgroud)
但为什么我不能让它工作?
我刚刚调试了一个令人难以置信的令人讨厌的错误:在我自己的PC(Windows 7 x64,MinGw)上,我的C程序将使用memcmpwhen比较数组成员成功对数组进行排序.
我的函数使用冒泡排序算法,它的骨架看起来像这样:
void array_sort(ArrayMap *array, char direction) {
make sure direction is +1 or -1 only
define some variables
for(...) {
for(...) {
cmpres = memcmp(elm1, elm2, sizeOfElement);
if (cmpres!=0&&cmpres!=direction)
{
SWAP here
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在我的电脑上,memcmp已经返回-1,0而1在另一个电脑上,它又返回了-5,0并且5.通过与direction我的比较,导致排序完全错误.
但我想知道,返回值的绝对值(即大小)memcmp究竟是什么意思?
返回表示存储块内容之间关系的整数值:零值表示两个存储块的内容相等.的值大于零表示不在两个存储器块匹配的第一个字节在PTR1比PTR2更大的值,如同评价为无符号字符值; 小于零的值表示相反.
没有提到大小,他们只是通过大于零来确保+ -1的错误.
我正在为一个页面制作用户脚本.该页面是老式的桌子 - 无处不在的设计.我正在尝试访问长字段表,以便可以通过脚本填充它们.
结构可以简化为这样:
<form>
<blockquote>
<table>
<tr>
<td>
<table>
<!-- THE DESIRED <input> FIELDS ARE HERE!! -->
</table>
</td>
<td>
<table>
<!-- Contains <select> <input> -->
</table>
</td>
</tr>
</table>
<!-- the table repeats and I need all inner tables -->
</blockquote>
</form>
Run Code Online (Sandbox Code Playgroud)
所以我在想我可以得到一个包含form table但不包含的所有 表格<select>.
我认为jQuery中父母选择器的 oposite 是理想的.这样的事情存在吗?
我可能无意中更改了项目中的某些内容。现在,关键线程在不应该中断时被中断,并isInterrupted在线程应该运行时返回 true。
因为没有人会为我找到问题,所以我正在寻求帮助以找到找到它的方法。我需要找到:
因为 IDE 工具和调试器可能会在我的搜索中发挥作用,所以我将补充说我使用的是 NetBeans IDE。
我正在尝试用 JS完成leetcode.com 的问题。我一般不熟悉算法,并且在我的第一次提交被接受时遇到了一些麻烦。
该问题规定了以下内容:
给定一个数组nums,编写一个函数将所有 0 移到它的末尾,同时保持非零元素的相对顺序。
例如,给定nums = [0, 1, 0, 3, 12],在调用您的函数后,nums应该是[1, 3, 12, 0, 0]。
注意:您必须就地执行此操作,而无需复制阵列。尽量减少操作总数。
有了这个,这是我的代码:
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var moveZeroes = function(nums) {
var i, temp;
for (i = 0; i < nums.length-1; i++) {
if(nums[i] === 0) {
temp = nums.splice(i, 1);
nums.push(temp[0]);
}
}
return null;
};
Run Code Online (Sandbox Code Playgroud)
代码示例顶部的注释是在他们的文本编辑器中提供的,这让我相信我不应该提供任何 return …
我需要检查文件是否被锁定boost::interprocess::file_lock.我制作了这个,但我担心它会做什么:
bool DataCache::isLocked() const {
bool res = lock_->try_lock();
if(res)
lock_->unlock();
return res;
}
Run Code Online (Sandbox Code Playgroud)
这是个好主意吗?有没有办法检查它而不锁定它?
我有一张地图:
std::map<std::string, MyDataContainer>
Run Code Online (Sandbox Code Playgroud)
在MyDataContainer一些class或struct(无所谓).现在我想创建一个新的数据容器.假设我想使用默认构造函数来实现它:
// This is valid, MyDataContainer doesn't need constructor arguments
MyDataConstructor example;
// The map definition
std::map<std::string, MyDataContainer> map;
std::string name("entry");
// This copies value of `example`
map[name] = example;
// Below, I want to create entry without copy:
std::string name2 = "nocopy"
// This is pseudo-syntax
map.createEmptyEntry(name2);
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?当我想在地图中初始化它时跳过创建辅助变量?是否有可能使用构造函数参数?
我刚刚安装了Dspace 5.4,我试图将一个集合从greenstone移动到Dspace.
我成功地从greenstone导出了该集合,但是当我尝试通过批量导入(zip)将其加载到Dspace时,我收到以下错误:
Notice
Import failed
/dspace/imports/New Folder.zip/New Folder/exported_DSpace/dublin_core.xml (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我错过了什么?
有一个关于在 android 上发送长按的已回答问题,问题在于
从链接问题上投票最高的答案中,我从以下代码开始:
adb shell sendevent /dev/input/event2 1 172 1
adb shell sendevent /dev/input/event2 0 0 0
timeout 1
adb shell sendevent /dev/input/event2 1 172 0
adb shell sendevent /dev/input/event2 0 0 0
Run Code Online (Sandbox Code Playgroud)
这些命令不起作用,答案的作者也没有透露这些命令的作用和原因。通过一些实验我发现:
/dev/input/event0代替event2adb shell sendevent /dev/input/event2 0 0 0是必须的。它有什么作用我不知道现在我需要发送按键的按键向上/向下事件,包括那些不在设备上的按键(例如KEYCODE_DPAD_DOWN),所以adb shell getevent没有多大帮助 - 我无法按下不存在的按键。我正在使用 Android 4.1.2 三星手机。
还有谁能向我解释一下这是什么0 0 0事件吗?
我想用一个简单的 shell 脚本覆盖默认的 Visual Studio C++ 编译器。我想要的是捕获参数,例如文件名,并创建一些统计信息。但是我想完全覆盖编译过程 - 也就是说,我想从我的 shell 脚本调用原始编译。
我用谷歌搜索,但我发现的只是如何在项目中执行预构建和后构建脚本。那不是我想要的。
我想在全球范围内改变这一点。我该怎么做?