【发布时间】:2018-01-08 23:19:08
【问题描述】:
我正在尝试找到一个匹配列表模式的正则表达式,例如:
A. banana
B. potato
C. apple
或
1. banana
2. potato
3. apple
即使列表不以A or 1 开头,例如:
q. banana
r. potato
s. apple
我能得到一些帮助吗?
编辑:正则表达式应该只匹配带有字母数字字符的订单,例如,这不应该匹配:
$. banana
&. apple
//or
b. banana
a. apple
【问题讨论】:
-
你应该更好地解释你的问题。物品是否应该遵循订单?如果是,什么规则决定了这个顺序?是:
#. banana、$. potato、%. apple也正确吗? -
我编辑了我的问题
-
好的,但主要问题是正则表达式无法考虑订单(它不知道“a”在“b”之前或“2”在“3”之前. 有一些变通方法可以做到这一点(在字符串末尾连接一种字母并使用非常复杂且效率低下的模式),但没有可靠的解决方案。
-
您所能做的就是使用更通用的模式,例如:
/(?m)^([a-z0-9]+)\. .../i并使用常规代码(不是正则表达式)检查项目是否连续。