小编use*_*994的帖子

如何在使用正则表达式时解释Javascript中的"$ 1,$ 2"?

一段Javascript代码如下:

    num="11222333";
    re = /(\d+)(\d{3})/;
    re.test(num);
    num.replace(re, "$1,$2");
Run Code Online (Sandbox Code Playgroud)

我无法理解"$ 1,$ 2"的语法.这段代码来自的书说$ 1表示RegExp.$ 1,$ 2表示RegExp.$ 2.但这些解释引出了更多问题:

  1. 众所周知,在Javascript中,变量的名称应以letter或_开头,$ 1如何才能成为RegExp成员变量的有效名称?

  2. 如果我输入$ 1,命令行说它没有定义; 如果我输入"$ 1",命令行只回显$ 1,而不是11222.那么,replace方法如何知道"$ 1,$ 2"是什么意思?

谢谢.

javascript regex

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

AttributeError:'module'对象没有属性'utcnow'

当我输入简单代码时:

import datetime
datetime.utcnow()
Run Code Online (Sandbox Code Playgroud)

,我收到错误信息:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    datetime.utcnow()
AttributeError: 'module' object has no attribute 'utcnow'
Run Code Online (Sandbox Code Playgroud)

但是python的文档utcnow就在这里:https://docs.python.org/library/datetime.html#datetime.datetime.utcnow.为什么utcnow我的电脑无法正常工作?谢谢!

python datetime

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

为什么\ b在python re模块中不起作用?

众所周知,这\b意味着正则表达式中的单词边界.但是repython中的以下模块代码不起作用:

>>> p=re.compile('\baaa\b')
>>> p.findall("aaa vvv")
[]
Run Code Online (Sandbox Code Playgroud)

我认为返回的结果findall应该是["aaa"],但它没有找到任何东西.怎么了?

python regex

9
推荐指数
1
解决办法
1370
查看次数

在Python中,如何编写包含集合的集合?

我们在Python中知道,可以通过写出它的所有元素来定义一个集合:

a_set={1,"xyz"}
Run Code Online (Sandbox Code Playgroud)

Python的书籍都说集合的元素可以是任何数据类型.所以我们应该能够写出一个包含集合的集合.我试着把它写成:

a_set={1,{"xyz"}}
Run Code Online (Sandbox Code Playgroud)

IDLE报告了一个错误:

Traceback (most recent call last):
  File "<pyshell#58>", line 1, in <module>
    a_set={1,{"xyz"}}
TypeError: unhashable type: 'set'
Run Code Online (Sandbox Code Playgroud)

我想这可能是因为Python试图将其理解为字典.那么,如何写出一个包含Python集合的集合?

python

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

如何编译lapack以便在安装八度音程时可以正确使用?

我正在尝试在运行redhat + IBM LSF的集群中从源安装最新的octave 3.8.1.除了我自己的主目录之外,我没有其他任何地方的写访问权限,这就是我必须从源代码安装八度音程的原因.集群提供的blas和lapack不起作用,所以我必须自己构建它们.我现在已经完成了编译blas和lapack并传递了./configure,但是当我运行make时,报告错误如下:

在此输入图像描述

这些都是我用来建立自己的步骤BLASLAPACK.BLAS ~/src/BLAS的来源是在LAPACK ~/src/lapack-3.5.0的来源进入,而八度音阶3.8.1的来源是~/src/octave-3.8.1.只有两个模块,1) pcre/8.33 2) acml/5.3.1/gfortran64加载,我编译BLAS共享库使用

gfortran -shared -O2 *.f -o libblas.so -fPIC
Run Code Online (Sandbox Code Playgroud)

和静态库使用

gfortran -O2 -c *.f -fPIC
ar cr libblas.a *.o
Run Code Online (Sandbox Code Playgroud)

然后我将共享库复制libblas.so到〜/ src/octave-3.8.1.make.inclapack的目录中的文件内容是:

####################################################################
#  LAPACK make include file.                                       #
#  LAPACK, Version 3.5.0                                           #
#  November 2013                                                   #
####################################################################
#
SHELL = /bin/sh
#  
#  Modify the FORTRAN and OPTS definitions to refer to the
# …
Run Code Online (Sandbox Code Playgroud)

installation gcc fortran octave lapack

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

python中"for key in dict"是否总是以固定顺序迭代?

是python代码

for key in dict:
    ...
Run Code Online (Sandbox Code Playgroud)

,dictdict数据类型在哪里,总是以regrard的固定顺序迭代到key?例如,假设dict={"aaa":1,"bbb",2}上面的代码总是先让key="aaa"(然后key="bbb"是另一个固定的顺序)?订单是否可能是随机的?我在ubuntu 13中使用python 3.3,让我们假设这个运行环境不会改变.谢谢.

添加一件事:在多次运行期间,变量dict保持不变,即生成一次并多次读取.

python dictionary

6
推荐指数
2
解决办法
2962
查看次数

尝试构建简单的OpenGL程序时链接错误

这是OpenGL代码:

#include <GL/glut.h>
void display()
{
 glClear(GL_COLOR_BUFFER_BIT);
}

int main(int argc,char **argv)
{
   glutInit(&argc,argv);
   glutCreateWindow("Hello,world!");
   glutDisplayFunc(display);
   glutMainLoop();
}
Run Code Online (Sandbox Code Playgroud)

错误消息是:

"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/zh/workspace/OpenGL/CppApplication_1'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/cppapplication_1
make[2]: Entering directory `/home/zh/workspace/OpenGL/CppApplication_1'
mkdir -p dist/Debug/GNU-Linux-x86
g++ -lglut -lGLU -lGL -lGLEW    -o dist/Debug/GNU-Linux-x86/cppapplication_1 build/Debug/GNU-Linux-x86/main.o -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libglut.so /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLEW.so /usr/lib/x86_64-linux-gnu/libGLEWmx.so
/usr/bin/ld: build/Debug/GNU-Linux-x86/main.o: undefined reference to symbol 'glClear'
/usr/lib/x86_64-linux-gnu/libGL.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/cppapplication_1] …
Run Code Online (Sandbox Code Playgroud)

opengl ubuntu linker netbeans

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

PyDev插件找不到python 3.4

我一直在ubuntu 13上使用eclipse 3.8 + PyDev + python 3.3.最近我将ubuntu升级到了14.04.似乎ubuntu 14.04附带了新的python 3.4,因此,在升级过程中,旧的python 3.3被删除并安装了新的python 3.4.然后,我的日食的PyDev插件无法在其原始目录中找到python 3.3并且报告错误,以及许多红色交叉,如下图所示.

在此输入图像描述

但是Python 3.4的安装是正确的,因为我可以在使用python 3.4的IDLE中轻松导入pickle或随机模块:

在此输入图像描述

我已经将PyDev升级到最新的3.4.1.你能否告诉我如何在eclipse中重新配置Python解释器(包括如何定位它),以便PyDev能够正确定位Python 3.4的位置?非常感谢你.

eclipse ubuntu eclipse-plugin pydev python-3.4

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

关于scipy.cluster.hierarchy.fcluster的返回值和用法

假设我们有四个观察值,scipy.cluster.hierarchy.linkage的返回值是:

[[ 1.          3.          0.08        2.        ]
 [ 2.          4.          0.28813559  3.        ]
 [ 0.          5.          1.          4.        ]]
Run Code Online (Sandbox Code Playgroud)

该返回值意味着:首先将观察1和3合并到新的簇4,然后将观察2添加到该新簇中以形成新的簇5.最后,观察0被聚类.由于我想获得两个集群{1,3,2}和{0},我期望返回值为[2,1,1,1],这意味着元素0属于集群2,其余集合为另一个集群.簇1,使用阈值0.4.但实际上scipy.cluster.hierarchy.fcluster返回[3 1,2,1].当然我可以编写python代码来自己分析链接返回的二维数组,但我认为如果我将阈值设置为0.4,fcluster函数可以返回我想要的.但是,我不知道如何为它提供参数,所以我想知道你是否可以提供一些示例代码来进行层次聚类,linkage并使用fcluster分组在由集合表示的聚类中的观察结果给出最终结果.谢谢.

hierarchical-clustering scipy

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