python - 这个正则表达式的正确术语是什么?
问题描述
我正在为 Python 中的文本字段编写验证。现在我想实现以下正则表达式进行验证。
但是,我在转义表达式时遇到了问题。有人可以帮我吗?
def regex_1_4_9_digits(data, min=1, max=9):
pattern = f'[A-Z0-9]{{{min},{max}}}'
pattern1 = f'^\\s*-?[A-Z0-9]{{{min,max}}}\\s*$'
output = re.match(pattern, data)
return output
我想使用pattern1
,但是“”的转义有一个错误,我不知道如何修复它。
解决方案
在插值字符串文字中,文字{
定义为{{
,文字}
使用}}
.
你应该使用
pattern1 = f'^\\s*-?[A-Z0-9]{{{n},{m}}}\\s*$'
^^^ ^^^
或者,
pattern1 = rf'^\s*-?[A-Z0-9]{{{n},{m}}}\s*$'
我建议使用n
最小阈值和m
最大值。
应该{{{n},{m}}}
读作
{{
-{
字符串{n}
-n
变量的值,
- 逗号(字符串){m}
-m
变量的值}}
- 一个}
字符串。
推荐阅读
- javascript - 设置状态方法似乎什么都不做。为什么?
- java - 从java代码设置日期和时间的问题
- django - Django hitcount order_by("hit_count_generic__hits") 在 PostgreSQL 数据库上给出错误
- javascript - 无法在 javascript 中设置已创建事件对象的属性
- javascript - conditionalPanel() 基于包含来自字符串的逻辑
- python - Python的静态数据流图生成器?
- javascript - Chart JS折线图:填充线上方而不是线下方的区域
- javascript - 反应本机选项卡导航 - 在获取完成之前阻止选项卡更改
- ruby-on-rails - 如何将 Rails 应用程序划分为逻辑部分?
- docker - 在 docker-compose 中定义内联文件