小编Gor*_*son的帖子

将用户输入字符串转换为正则表达式

我正在设计一个HTML和JavaScript的正则表达式测试程序.用户将输入正则表达式,字符串,并通过单选按钮选择要测试的功能(例如搜索,匹配,替换等),程序将在使用指定参数运行该功能时显示结果.当然会有额外的文本框用于替换等额外的参数.

我的问题是从用户获取字符串并将其转换为正则表达式.如果我说他们不需要//围绕他们进入的正则表达式,那么他们就不能设置标志,比如gi.所以他们必须有//表达式,但是如何将该字符串转换为正则表达式?它不能是一个文字,因为它是一个字符串,我不能将它传递给RegExp构造函数,因为它不是没有字符串的字符串//.有没有其他方法可以将用户输入字符串转换为正则表达式?我是否必须用//'s 解析正则表达式的字符串和标志然后以另一种方式构造它?我应该让他们输入一个字符串,然后单独输入标志吗?

html javascript regex

315
推荐指数
7
解决办法
26万
查看次数

C++中的静态构造函数?我需要初始化私有静态对象

我想要一个具有私有静态数据成员的类(包含所有字符az的向量).在java或C#中,我可以创建一个"静态构造函数",它将在我创建类的任何实例之前运行,并设置类的静态数据成员.它只运行一次(因为变量是只读的,只需要设置一次),因为它是类的一个函数,它可以访问它的私有成员.我可以在构造函数中添加代码来检查向量是否已初始化,如果不是,则初始化它,但是这会引入许多必要的检查,并且似乎不是问题的最佳解决方案.

我想到,因为变量只是只读的,所以它们只能是公共的静态const,所以我可以在类外面设置它们,但是再一次,它看起来有点像丑陋的黑客.

如果我不想在实例构造函数中初始化它们,是否可以在类中拥有私有静态数据成员?

c++ static private static-constructor initializer

172
推荐指数
8
解决办法
15万
查看次数

为什么javascript在使用replace时只替换第一个实例?

我有这个

 var date = $('#Date').val();
Run Code Online (Sandbox Code Playgroud)

这得到文本框中的值,看起来像这样

2009/12/31

现在我就这样做了

var id = 'c_' + date.replace("/", '');
Run Code Online (Sandbox Code Playgroud)

结果是

c_1231/2009

它错过了最后的'/'我不明白为什么.

javascript jquery

136
推荐指数
3
解决办法
10万
查看次数

为我的网络应用程序制作自定义右键单击上下文菜单

我有一些网站,如google-docs和map-quest,当你右键单击时会有自定义下拉菜单.他们以某种方式覆盖了浏览器下拉菜单的行为,我现在确切地知道他们是如何做到的.我找到了一个jQuery插件来做到这一点,但我仍然对一些事情感到好奇:

  • 这是如何运作的?浏览器的下拉菜单是否实际被覆盖,或者效果是否只是模拟?如果是这样,怎么样?
  • 这个插件抽象了什么?幕后发生了什么?
  • 这是实现这种效果的唯一方法吗?

自定义上下文菜单图像

查看几个自定义上下文菜单

javascript jquery contextmenu jquery-plugins right-click

123
推荐指数
5
解决办法
13万
查看次数

做{...} while(false)

我正在看一些个人的代码,并注意到他的功能似乎有一个模式:

<return-type> function(<params>)
{
 <initialization>

 do
 {
   <main code for function>
 }
 while(false);

 <tidy-up & return>
}
Run Code Online (Sandbox Code Playgroud)

不错,更奇特(实际代码相当简洁且不足为奇).这不是我以前见过的东西,我想知道是否有人能想到它背后的任何逻辑 - 也许是用不同语言的背景?

c++

117
推荐指数
11
解决办法
3万
查看次数

在添加之前检查类是否已分配

在jQuery中,是否建议在添加该类之前检查是否已将类分配给元素?它甚至会产生任何影响吗?

例如:

<label class='foo'>bar</label>
Run Code Online (Sandbox Code Playgroud)

如果对类baz已经被分配有疑问label,这将是最好的方法:

var class = 'baz';
if (!$('label').hasClass(class)) {
  $('label').addClass(class);
}
Run Code Online (Sandbox Code Playgroud)

或者这就足够了:

$('label').addClass('baz');
Run Code Online (Sandbox Code Playgroud)

jquery addclass

110
推荐指数
3
解决办法
4万
查看次数

如何从透明背景的matplotlib导出图?

我使用matplotlib制作一些图表,不幸的是我没有白色背景导出它们.

样本图与纯白色背景

换句话说,当我导出这样的图并将其放在另一个图像的顶部时,白色背景会隐藏它背后的内容,而不是允许它透过.如何导出透明背景的图?

python plot transparency matplotlib

93
推荐指数
2
解决办法
7万
查看次数

PHP中的全局变量是否被视为不良做法?如果是这样,为什么?

function foo () {
    global $var;
    // rest of code
}
Run Code Online (Sandbox Code Playgroud)

在我的小PHP项目中,我通常采用程序方式.我通常有一个包含系统配置的变量,当我需要在函数中访问此变量时,我会这样做global $var;.

这是不好的做法吗?

php global global-variables

84
推荐指数
5
解决办法
3万
查看次数

VIM超快速导航

我唯一想念使用其他编辑器的是用鼠标找到我的位置.我可以用眼睛看到文件上的特定区域,并用鼠标移动并点击一下我就在那里.随着VIM,我必须jjjjjkkkkkjjjjhhhhh ...几乎在那里哦,我错过了3个字符的垃圾,lll.

我正在学习做标记,我找到了一个很棒的书签插件,我可以创建标记并将其销毁<f3>并导航到它们,遗憾的是,当文件关闭时,标记会被遗忘.

你们如何超级导航文件?我知道我也可以做5j7k4j5h等等,但必须有一个插件可以读取我的眼睛并把光标放在我真正需要的地方..

我也学会了使用/%来搜索特定术语.它确实有帮助,但所有匹配的字符都在文档中突出显示.

navigation vim

83
推荐指数
8
解决办法
3万
查看次数

createElement优于innerHTML的优势?

在实践中,使用createElement而不是innerHTML有什么好处?我问,因为我确信使用innerHTML在性能和代码可读性/可维护性方面更有效但我的团队成员已经决定使用createElement作为编码方法.我只是想了解createElement如何更有效率.

javascript dom

74
推荐指数
4
解决办法
3万
查看次数