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

如何格式化内部带有不同表达式的原始字符串?

师增
2023-03-14
问题内容

假设,我们想用regex捕获一些东西,使用rawstring定义模式,该模式内部具有重复的元素和变量。而且我们还想使用format()字符串格式表格。这该怎么做?

import re
text = '"""!some text'
re.findall(r'"{3}{symbol}some\stext'.format(symbol='!'), text)

但是这一行将我们引至IndexError

# IndexError: tuple index out of range

因此,我的问题是:如果原始字符串具有格式化的大括号表达式和在内部重复大括号的表达式,那么该如何格式化呢?

提前致谢!


问题答案:

用花括号逃避花括号

>>> import re
>>> text = '"""!some text'
>>> re.findall(r'"{{3}}{symbol}some\stext'.format(symbol='!'), text)
['"""!some text']

但是,%在这种情况下最好只使用格式设置。



 类似资料:
  • 我是cucumber自动化测试的新手,我有一个maven项目,我试图传递一个字符串,但我有这个错误。

  • 我有很多充满换行符的文本文件,我用python 3.4解析它们。我正在寻找换行符,因为它们将我的文本分成不同的部分。下面是一段文字的例子: 我天真地开始在正则表达式(RE)中查找带有' < code>\n '的换行符,没有想到反斜杠' < code>\ '是一个转义符。然而,结果证明这很好: 然后,我明白我应该使用双反斜杠来寻找一个反斜杠。这也很好: 但是在另一个线程上,我被告知使用原始字符串而不

  • 问题内容: 有什么方法可以使用正则表达式将字符串格式化为特定模式,还是stringbuilder +子字符串是一种更快的方法? 例如,说出电话号码-> 1234567890作为输入 并输出为->(123)456-7890 我看到有可能在这篇文章上:http : //www.4guysfromrolla.com/webtech/031302-1.shtml,但给出的解释在ASP中。我如何用Java做

  • QueryDsl 3.3.4 Hibernate 3.6.10-Final I有两个实体: org.hibernate.hql.ast.tree.SelectClause.InitializeExplicitSelectClause(SelectClause.java:156)

  • 我有一个格式为“Mon May 31 2021 23:59:59 GMT 0000(协调世界时)”的日期,但需要将其转换为本地时区并解析为日期时间格式。我该怎么做?

  • 我正在创建一个Lua库来帮助处理发送和接收DNS请求,目前正在阅读这个(DNS协议RFC),但我不知道如何正确格式化请求。例如,我是否必须指定消息的长度?我该怎么做? 我了解,从我的Wireshark检查,我应该也包括选项之后。我还在响应中看到一个;这是否意味着我只需在添加值之前,将请求名称终止为零? 我特别谈论的部分是RFC的4.1.3。 一些注意事项:我使用个人服务器对此进行了测试,并在查询部