【发布时间】:2018-03-05 20:44:17
【问题描述】:
看下面两个例子:
https://stackoverflow.com
(https|http):\/\/.*
第一个是普通 URL,第二个是 REGEX 字符串。 python3中如何区分哪个是正则表达式字符串,哪个不是?
【问题讨论】:
-
两者都可以是正则表达式字符串。这取决于上下文。只有在您向我们展示了您在何处以及如何使用该字符串后,我们才能告诉您它是否是正则表达式。
-
第一个也可以是正则表达式。
-
第一个是匹配
https://stackoverflow后跟任意字符后跟com的正则表达式。 -
@Barmar,确实如此。它验证为正则表达式,但如何以某种方式区分这两个?这是一个困难的
-
虽然更复杂,但您可以使用使用
sklearn的机器学习分类器并在与此类似的数据集上进行训练:github.com/nicholaslocascio/deep-regex/blob/master/datasets/… 以便能够识别来自非正则表达式的基本正则表达式字符串。
标签: python regex python-3.x