当前位置: 首页 > 面试题库 >

Python中是否有与Perl regexes的\ K反斜杠序列等效的东西?

程沛
2023-03-14
问题内容

Perl的正则表达式具有\K反斜杠序列:

\ K
这出现在perl
5.10.0中。匹配的左侧的任何内容\K均不包含在中$&,如果在替换中使用该模式,则不会替换任何内容。这使您可以s/PAT1 \K PAT2/REPL/x代替 s/(PAT1) PAT2/${1}REPL/x或进行编写s/(?<=PAT1) PAT2/REPL/x

助记符: 保持

Python中有什么等效的东西吗?


问题答案:

建议使用的Pythonre模块替代品具有此功能,可从pypi名称下获得regex。其规范的源代码存储库和错误跟踪器位于bitbucket中。

这是在2015年末在票务151中添加的;以该票证中的用法为例:

import regex as mrab
>>> bsk = mrab.compile(r'start=>\K.*')
>>> print(bsk.search('boring stuff start=>interesting stuff'))
<regex.Match object; span=(20, 37), match='interesting stuff'>


 类似资料:
  • 本文向大家介绍Python中的左斜杠、右斜杠(正斜杠和反斜杠),包括了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的使用技巧和注意事项,需要的朋友参考一下 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下

  • 问题内容: 我正在尝试将转换为,但是我不断遇到各种错误。我认为这是解决方案: 但这给出了以下异常: 问题答案: 将该参数解释为正则表达式。该是转义字符都 和。你需要对正则表达式进行两次转义: 但是你不必为此使用正则表达式,仅是因为你希望逐个字符地进行精确替换,并且这里不需要模式。因此就足够了: 更新:根据注释,你似乎想在JavaScript上下文中使用字符串。你最好使用它来覆盖更多字符。

  • 问题内容: 这不起作用: 这也没有: 这也没有: 是否可以在代码中将注释分成多行? 问题答案: 那样做: 实际上,根据PEP8,当将某物分成多行时,括号比斜杠更可取: 换行的首选方法是在括号,方括号和花括号内使用Python的隐含行连续性。通过将表达式包装在括号中,可以将长行分成多行。应优先使用这些,而不是使用反斜杠进行行连续。 在您的情况下,它还允许发表评论。 这是一个有效的证明:http :

  • Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用 <em> 标签),你可以在星号的前面加上反斜杠: \*literal asterisks\* Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号: \ 反斜线 ` 反引号 * 星号 _ 底线 {} 花括号 [] 方括号 () 括

  • 问题内容: 我经常看到XML和HTML标记的斜杠前有一个空格。XHTML换行符可能是典型的示例: 代替: 这个空间似乎是多余的。实际上,我认为这是多余的。 写这个空间的原因是什么? 我读过,该空间解决了一些“向后兼容性问题”。哪些向后兼容性问题?这些问题是否仍然相关,还是为了例如IE3兼容性而增加额外的空间?是否存在一些对此有明确答案的规范? 如果不是向后兼容,那么这是可读性问题吗?与“大张开大括

  • 问题内容: 我有以下问题: 我有一个向服务器执行AJAX请求的脚本,该服务器在预览中返回。但是,响应为。没什么大不了的,因为我只是想用单斜杠代替双斜杠。我一直在这里查看堆栈,但是我只能找到如何用双反斜杠替换单反斜杠,但反之亦然。 有人可以帮我这个忙吗? 问题答案: 应该这样做: 在正则表达式中,必须将单个转义为,在替换中也必须转义。