小编Hub*_*bro的帖子

为什么我使用ASCII组名称获取"sre_constants.error:组名中的错误字符"?

这是我的正则表达式:

(?P=<streetname>[a-zæøå ]+)(?:[ ]+)(?P=<housenumber>\d+)(?:[ ]+),(?:[ ]+)(?P=<postalcode>\d{1,4})(?:[ ]+)(?P=<city>[a-zæøå ]+)
Run Code Online (Sandbox Code Playgroud)

所有组名只包含ASCII字符,为什么会出错?

Traceback (most recent call last):
  File "addrtools.py", line 46, in 
    main()
  File "addrtools.py", line 43, in main
    extract_address('Testaddress 15B, 1234 Oslo')
  File "addrtools.py", line 35, in extract_address
    match = re.match(pat_full, string)
  File "/Users/tomas/.pythonbrew/pythons/Python-2.7.3/lib/python2.7/re.py", line 137, in match
    return _compile(pattern, flags).match(string)
  File "/Users/tomas/.pythonbrew/pythons/Python-2.7.3/lib/python2.7/re.py", line 242, in _compile
    raise error, v # invalid expression
sre_constants.error: bad character in group name

我已经确认pat_full确实包含上面的正则表达式.此外,我的文档以UTF-8编码,并设置为UTF-8模式(# --*-- Encoding: UTF-8 --*--).

python regex

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

我可以仅在当前缓冲区中更改ColorColumn的颜色吗?

在我的ftplugin/python.vim文件中,我有以下两行:

setlocal colorcolumn=81
highlight ColorColumn guibg=#222222
Run Code Online (Sandbox Code Playgroud)

哪个很好用,但是列的颜色是全局设置的.是否可以仅在当前缓冲区中设置它

vim

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

如何从lambda创建并返回Ruby类?

我正在尝试创建一个将返回存根类的lambda.这就是我所拥有的:

engine_stub = lambda { |valid|
  Class.new {
    def valid?(address)
      valid
    end
  }
}
Run Code Online (Sandbox Code Playgroud)

lambda应该返回一个类,其valid?实例方法总是返回传递给lambda的值.此代码失败并显示错误:

NameError: undefined local variable or method `valid' for #<#<Class:0x007f4bf0ebd
0f0>:0x007f4bf0ebcd08>
Run Code Online (Sandbox Code Playgroud)

很明显,该方法无法访问lambda范围.我也试过这个:

engine_stub = lambda { |valid|
  stub_class = Class.new
  def stub_class.valid?(address)
    valid
  end
  return stub_class
}
Run Code Online (Sandbox Code Playgroud)

而这导致此错误:

NoMethodError: undefined method `valid?' for #<#<Class:0x007fecbada1138>:0x007fec
bada0df0>
Run Code Online (Sandbox Code Playgroud)

所以现在我没能做出valid?一个实例变量.

摘要

我正在尝试让lambda engine_stub返回一个带有一个实例方法的类,该方法valid?返回传递给lambda的值.我该怎么做呢?

ruby

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

有没有办法避免vimscript正则表达式所需的大量逃逸?

我有一个工作的vimscript正则表达式,如下所示:

^\s*\(\(module\)\|\(class\)\|\(def\)\|\(it\s\)\|\(describe\s\)\)\s
Run Code Online (Sandbox Code Playgroud)

以下是其他任何语言的外观,例如Python:

^\s*((module)|(class)|(def)|(it\s)|(describe\s))\s
Run Code Online (Sandbox Code Playgroud)

我写了正则表达式,比如一小时的试验和失败.我怎么知道什么需要在vim正则表达式中转义?显然,这两个括号,管道需要转义,但^*没有.

有没有办法避免这种逃避的疯狂?

vim

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

有什么方法可以减少机器人框架中的套件设置/拆卸和测试设置/拆卸样板吗?

我正在从事一个变得相当大和复杂的项目。

在我们的机器人测试文件中,我们现在有几个套件设置/拆卸和测试设置/拆卸,用于处理第三方服务的生成模拟服务器、重置配置、覆盖随机值的生成,以便我们的测试输出保持可预测等。

由于每个测试文件都需要进行所有设置/拆卸,因此设置部分中的样板数量变得非常愚蠢。

减少此测试设置样板的“规范”方法是什么?我不能简单地将所有设置/拆卸语句收集到几个关键字中并使用它们,因为测试套件并不都有完全相同的要求。

例如,Robot Framework 中是否有任何方法可以让测试库(特别是 Python)添加安装/拆卸操作?这样我就可以在设置部分设置一些元数据,并让测试库根据需要添加设置/拆卸操作。

例如,我可以添加一个元数据标头,例如Metadata Uses services Twitter, Facebook,然后测试库将处理套件级别的设置/拆卸以生成和终止模拟服务器,以及测试级别的设置/拆卸以清理其状态。

python robotframework

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

为什么这个简单的MySQL子查询不起作用?

此查询与我显示的工作示例几乎完全相同:

SELECT * FROM entities.entities
    WHERE entities.entities.id =
        (SELET MAX(entities.entities.id) FROM entities.entities);
Run Code Online (Sandbox Code Playgroud)

这个查询开始时要简单得多,但我一直在各处添加数据库和表名,以确保查询无可挑剔.

它产生了不那么有用的错误:

SQL错误(1064):您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第3行使用"MAX(id)FROM entities"附近的正确语法

我已经确定我有MySQL版本5+,我确保子查询是一个标量子查询,即它只返回一行有一行,并且在查询的WHERE部分中受支持.

我觉得它没有错.

进入专家!

mysql sql

0
推荐指数
1
解决办法
421
查看次数

如何在选择器中将元素与诸如"data [title]"之类的名称匹配?

我有这样一个元素:

<input type="text" name="data[title]" />
Run Code Online (Sandbox Code Playgroud)

是否可以根据它的名称匹配该输入元素?这不起作用:

input[name=data[title]] {}
Run Code Online (Sandbox Code Playgroud)

我正在使用最新版本的Chrome.

css

0
推荐指数
1
解决办法
43
查看次数

标签 统计

python ×2

vim ×2

css ×1

mysql ×1

regex ×1

robotframework ×1

ruby ×1

sql ×1