小编Tim*_*Tim的帖子

Python是否支持正则表达式中的条件结构?

Python是否支持正则表达式中的条件结构?

  1. 如果是,为什么我不能拥有以下(在if部分使用前瞻)对吧?有什么办法让Python支持它吗?

    >>> p = re.compile(r'(?(?=regex)then|else)')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python2.7/re.py", line 190, in compile
        return _compile(pattern, flags)
      File "/usr/lib/python2.7/re.py", line 242, in _compile
        raise error, v # invalid expression
    sre_constants.error: bad character in group name
    
    Run Code Online (Sandbox Code Playgroud)
  2. 但是,使用反向引用作为if部分可以工作:

    >>> p = re.compile(r'(expr)?(?(1)then|else)')
    
    Run Code Online (Sandbox Code Playgroud)

http://www.regular-expressions.info/conditional.html

JGsoft引擎,Perl,PCRE,Python和.NET框架支持条件.

在正则表达式中使用条件的最接近的解决方案是什么?

我的Python是2.7.3.我不知道如何检查re模块的版本(我该怎么办?).谢谢.

python regex

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

git命令应该直接在工作目录下运行吗?

假设我有一个 git 工作目录,即该目录有一个名为 .git 的子目录.git

我想知道当我运行 git 命令时当前目录是否重要。可以运行 git 命令吗

  • 直接在工作目录下

  • 直接在工作目录(的子目录)的某个子目录下

  • 直接在工作目录的父目录下?

考虑

  • git 命令可以接受指定某些文件的参数,例如git add
  • git 命令不接受指定某些文件的参数,例如git pull, git push.

linux git

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

在没有refspec参数的情况下运行git push,pull和fetch

来自Loeliger 2ed的Git版本控制,

如果你没有在git push命令中指定refspec怎么办?Git如何知道该做什么或在哪里发送数据?

首先,如果没有给出命令的显式远程,Git假定您想要使用origin.

如果没有refspec, git push 会将您的提交发送到您的存储库和上游存储库之间通用的所有分支的远程 .上游存储库中尚未存在的任何本地分支都不会向上游发送; 分支必须已存在且匹配名称.

  • "存储库和上游存储库之间通用的所有分支"是否与本地存储库中的所有远程跟踪分支以及远程存储库中相应的跟踪分支相同?

  • 报价是为了git push.它(特别是没有refspec的情况下的部分)是否适用git fetchgit pull

git

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

如何在shell中实现内置命令?

当shell(例如bash)调用可执行文件时,它首先fork自己,然后复制execve可执行文件.

当shell调用内置命令时,没有创建新进程,并且execve只有内置命令不存储在可执行文件中时才能对可执行文件进行操作.

那么如何存储内置命令,以及如何根据系统调用调用它们?

linux bash shell system-calls

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

"无类型"是否与"动态类型"相同?

根据Advanced Bash-Scripting Guide,

  1. bash变量是无类型的:

    与许多其他编程语言不同,Bash不会通过"类型"来隔离其变量.本质上,Bash变量是字符串,但是,根据上下文,Bash允许算术运算和变量比较.决定因素是变量的值是否仅包含数字.

    该链接还给出了示例.

    "无类型"是否与编程语言中"动态类型"的概念相同?如果没有,两者之间的关系和差异是什么?

  2. 为了减轻在脚本中跟踪变量类型的负担,Bash确实允许声明变量.

    例如,将变量声明为整数类型by declare -i myvariable.

    这被称为"打字"变量吗?"打字"是否与"静态打字"的概念相同?

bash programming-languages

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

用对象调用指针接收器的方法而不是指向它的指针?

v是指针的对象Vertex,并且Scale是指针的方法Vertex.那么为什么v.Scale(10)没有错,因为它v不是指向Vertex对象的指针?谢谢.

package main

import (
    "fmt"
    "math"
)

type Vertex struct {
    X, Y float64
}

func (v Vertex) Abs() float64 {
    return math.Sqrt(v.X*v.X + v.Y*v.Y)
}

func (v *Vertex) Scale(f float64) {
    v.X = v.X * f
    v.Y = v.Y * f
}

func main() {
    v := Vertex{3, 4}
    v.Scale(10)
    fmt.Println(v.Abs())
}
Run Code Online (Sandbox Code Playgroud)

methods pointers function call go

5
推荐指数
2
解决办法
191
查看次数

比较mgo中使用的一致性模型

使用多个一致性规则查询MongoDB服务器.在mgo,SetMode所述的Session对象改变会话的一致性模式.有三种类型的一致性模式:最终,单调和强.

例如

session, err := mgo.Dial("localhost")
if err != nil {
    panic(err)
}
defer session.Close()
//Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)
Run Code Online (Sandbox Code Playgroud)

我正在阅读https://en.wikipedia.org/wiki/Consistency_model中的不同一致性模型

但是这三种模型之间的关系是mgo什么?

是否正确Strong暗示EventualEventual暗示Monotonic

谢谢.

distributed go mongodb mgo

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

什么算法可以将字符组合成单词?

我有一些糟糕的OCR软件生成的文本.

输出包含单词和空格分隔字符的混合,这些字符应该被分组为单词.例如,

Expr e s s i o n Syntax
S u m m a r y o f T e r minology 
Run Code Online (Sandbox Code Playgroud)

本来应该

Expression Syntax
Summary of Terminology 
Run Code Online (Sandbox Code Playgroud)

什么算法可以将字符组合成单词?

如果我使用Python,C#,Java,C或C++编程,哪些库提供了算法的实现?

谢谢.

algorithm nlp

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

什么是结构或联合的非现场成员?

来自K&R C编程语言:

结构或联合的非字段成员可以具有任何对象类型.

字段成员(不需要声明符,因此可以是未命名的)具有int,unsigned int或signed int类型,并且被解释为指定长度的整数类型的对象(以位为单位); int字段是否被视为signed是依赖于实现的.

...

结构的非字段成员根据其类型在寻址边界处对齐; 因此,结构中可能存在未命名的孔.

  1. 我认为结构或联合的成员被称为其领域.那么结构或联合的非现场成员是什么?它与现场成员有什么不同?
  2. 你能用一些例子解释"结构或联合的非字段成员可能有任何对象类型"吗?
  3. 引用中的第二个句子是否表示字段成员只能具有int,unsigned int或signed int类型?
  4. 引文中的最后一句提到非字段成员是对齐的.场成员是否对齐?如果没有,字段成员如何存储在内存中?

谢谢.

c

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

"特殊方法的隐式使用总是依赖于特殊方法的类级绑定"

我在Nutshell中很难理解Python中的最后一部分(粗体)

每实例方法

实例可以为所有属性提供特定于实例的绑定,包括可调用属性(方法).对于方法,就像任何其他属性一样(除了那些绑定到覆盖描述符的属性),特定于实例的绑定隐藏了类级别绑定:属性查找在直接在实例中找到绑定时不考虑该类.可调用属性的特定于实例的绑定不执行第110页的"绑定和未绑定方法"中详述的任何转换:属性引用返回与先前直接绑定到实例属性的可调用对象完全相同的内容.

但是,这并不像您可能期望的那样,Python会因各种操作而隐式调用的特殊方法的每个实例绑定,如第123页的"特殊方法"中所述.特殊方法的这种隐式使用始终依赖于特殊方法的类级绑定(如果有).例如:

def fake_get_item(idx): return idx
class MyClass(object): pass
n = MyClass()
n.__getitem__ = fake_get_item
print(n[23])                      # results in:
# Traceback (most recent call last):
#   File "<stdin>", line 1, in ?
# TypeError: unindexable object
Run Code Online (Sandbox Code Playgroud)

具体是什么意思?

为什么这个例子的错误?

谢谢.

python

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