繁体   English   中英

有没有办法可以将 Python 正则表达式转换为 JavaScript 正则表达式

[英]Is there a way that i can translate Python regular expression to JavaScript regular expression

I have been having trouble trying to translate python regular expression to a JavaScript regular expression here is the python code r/^([ab].*\1$ | ^[ab]$/ and this was my JavaScript translation /([^ab]*.\1$) | [^ab]$/gm我必须让它匹配'a','aa','bababbb',它不应该匹配'ab','baba'。谢谢非常感谢您的帮助!

为了更好地说明:

我确实测试了我的output ,当我应该得到真假时,我仍然变得假和假

这是问题的图片here

这是他们在 python 中针对问题提供的解决方案

我希望这能够消除一些困惑:)非常感谢您的帮助!

此模式r/^([ab].*\1$ | ^[ab]$/似乎不是有效的 Python 正则表达式表示法。

问题是匹配由字符 a 和 b 组成的字符串,并匹配以相同字母开头的字符串。

对于这种情况,您可以使用:

^([ab])(?:[ab]*\1)?$

模式匹配:

  • ^字符串开头
  • ([ab])捕获组 1 ,匹配 a 或 b
  • (?:非捕获组
    • [ab]*\1可以选择匹配 a 或 b,后跟反向引用\1以匹配与组 1 中相同的字符。
  • )? 关闭非捕获组并使其可选,也只允许一个字符
  • $字符串结尾

正则表达式演示

 const regex = /^([ab])(?:[ab]*\1)?$/; [ "a", "aa", "bababbb", "ab", "baba", ].forEach(s => console.log(`${s} --> ${regex.test(s)}`))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM