如何为内联有序列表创建正则表达式? [英] How to create regex for inline ordered list?

查看:57
本文介绍了如何为内联有序列表创建正则表达式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表单字段,其中大多数仅包含内联有序列表:

I have a form field, that most contain only inline ordered list:

1. This item may be contain characters, symbols or numbers. 2. And this item also...

以下代码不适用于用户输入验证(用户只能输入内联有序列表):

The following code not working for user input validation (users can input only inline ordered list):

definiton_re = re.compile(r'^(?:\d\.\s(?:.+?))+$')
validate_definiton = RegexValidator(definiton_re, _("Enter a valid 'definition' in format: 1. meaning #1, 2. meaning #2...etc"), 'invalid')

PS:这里我使用的是Django的 RegexValidator 类验证表单字段值的框架.

P.S.: Here i'm using RegexValidator class from Django framework to validate form field value.

推荐答案

OP的不错解决方案.进一步推广它,让我们做一些正则表达式优化/高尔夫.

Nice solution from OP. To push it further, let's do some regex optimization / golfing.

(?<!\S)\d{1,2}\.\s((?:(?!,\s\d{1,2}\.),?[^,]*)+)

这是新功能:

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆