小编Dud*_*ock的帖子

Lookbehind从一个字符串的结尾开始

我确信之前一定要问过,但由于某些原因,在档案中找到正则表达式问题的答案对我来说特别困难.

我想从字符串的末尾开始做一个lookbehind.

示例字符串:

"This is a string with lots of white space_and-other.stuff"
Run Code Online (Sandbox Code Playgroud)

我只想要字符串中具有最后一个空格的部分.到目前为止,我有以下内容:

(?<=\s).+$
Run Code Online (Sandbox Code Playgroud)

这给了我第一个空格后的所有内容,即使我匹配字符串的结尾.我的问题根源必须与lookbehinds必须是预定义数量的字符有关,但我不知道怎么做没有lookbehind.

regex lookbehind

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

在python中评论正则表达式

这个关于正则表达式可维护性问题的答案提到了.NET用户在正则表达式中实现注释的能力(我对第二个例子特别感兴趣)

有没有一种简单的原生方式在python中重现这个,最好不需要安装第三方库或编写我自己的注释条算法?

我目前所做的与该答案中的第一个示例类似,我将多个行中的正则表达式连接起来并对每一行进行注释,如下例所示:

    regexString  =  '(?:' # Non-capturing group matching the beginning of a comment
    regexString +=      '/\*\*'
    regexString +=  ')'
Run Code Online (Sandbox Code Playgroud)

python regex

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

在 Swift 3.0 中访问带有索引的字符串的大 O

什么是访问的复杂性Stringindexswift3.0吗?

复杂性是否与数组访问或 O(N) 或其他东西相同?

从“字符串索引”下的文档中

let greeting = "Guten Tag!"
let index = greeting.index(greeting.startIndex, offsetBy: 7)
greeting[index]
.
.
.
for index in greeting.characters.indices {
    print("\(greeting[index]) ", terminator: "")
}
// Prints "G u t e n   T a g ! "
Run Code Online (Sandbox Code Playgroud)

如果索引访问是 O(N),那么最后一个示例(遍历字符)将非常糟糕,因为仅以这种方式遍历字符将是 O(n^2)

我不确定的原因是以下声明:“不同的字符 [...] 可能需要不同数量的内存来存储”。

如果复杂度不是 O(n),那么它是如何工作的,因为不能只是将偏移量乘以常数来获得内存中的字符?

swift

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

如何将“””(三引号)编码为原始字符串?

如何"""在原始 python 字符串中进行编码?

以下似乎不起作用:

string = r"""\"\"\""""
Run Code Online (Sandbox Code Playgroud)

因为当尝试与正则表达式匹配时""",我必须对字符进行双重转义"返回一个空列表:

string = r"""\"\"\""""
regEx = re.compile(r"""
        (\"\"\")
""", re.S|re.X)
result = re.findall(regEx, string)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,结果是一个空列表。['"""']当我从文件内容加载字符串时,会返回相同的正则表达式"""

返回双转义引号:

string = r"""\"\"\""""
regEx = re.compile(r"""
        (\\"\\"\\")
""", re.S|re.X)
result = re.findall(regEx, string)
Run Code Online (Sandbox Code Playgroud)

现在结果等于['\\"\\"\\"']. 它希望它等于['"""']

python rawstring

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

标签 统计

python ×2

regex ×2

lookbehind ×1

rawstring ×1

swift ×1