javascript - 与 Kleen 正则表达式的区别

标签 javascript regex

刚开始欣赏正则表达式,我正在 regexone.com 上练习 我的问题给出了关于 kleene "*"的解释。我自己想出了一个答案”

[a-c]*

但是解决方法是:

aa+b*c+ or a*b*c*

两者在行为上有什么区别吗?特别是如果我将它与 javascript 一起使用?

抱歉我的英语不好。

最佳答案

问题定义不充分,因为没有负面例子。

例如,如果他们在医学院问你“截肢设备的名称是什么”,“汽车”在技术上是正确的,但可能不是他们想听到的(因为许多车祸最终都是与四肢被切断的人)。但如果问题是“医疗专业人员在手术期间进行截肢手术时使用的仪器名称是什么”,答案就不能再是“汽车”了。

同样,您的解决方案适用于所有提供的案例,但不如他们的解决方案精确。例如,"cba" 被您的表达式识别,但被他们的表达式拒绝(至少不是整个字符串的匹配;a*b*c* 很简单将 "cba" 匹配为字符串中任何位置的 0 长度匹配,以及 "a" 位的 1 长度匹配)。就此而言,.* 也是解决他们问题的有效(但完全不精确)的解决方案。

关于javascript - 与 Kleen 正则表达式的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30588204/

相关文章:

python - 删除 "not"之后的第一个单词

python - 正面回顾与非捕获组 : different behaviuor

php - 如何制作正则表达式来检测rupay借记卡

javascript - 更改 HTML 复选框选中属性

python - 正则表达式在Python中提取所有单词对及其分别后3个单词和前3个单词

javascript - 选择今天之前的日期并禁用 CodeIgniter 中的所有 future 日期

javascript - 如何扫描搜索结果页面中的链接,然后突出显示符合条件的项目,这样我就不必点击所有项目?

javascript - 字符串数组的串联

javascript - 为什么JS函数在IE9下不能正常工作?但在 Chrome 和 Firefox 中运行良好

javascript - 循环改变部分元素的样式