试图获得^背后的直觉.{5} [^e]?$用于regex golf中的Order



我正试图更好地理解问号在正则表达式中的工作原理

^.{5}[^e]?$

对于regex高尔夫(https://regex.alf.nu/8)。

现在我把它读成‘给定字符串的开头,取任何5个后面没有e的字符,结束字符串。问号读起来好像这5个字符后面没有e或任何字符,那么这就是字符串的末尾。

我使用了regexper.com(http://www.regexper.com/#^。{5} [^e]%3F%24)来帮助我理解,但我不认为我理解?正确地

怎么了?与负面表情等相比的工作

谢谢你抽出时间。

后面没有e

不完全是。正确的描述应该是"后面跟着一个not-e"——这就是否定字符类的作用。对于这样一个穷人来说,选择是有意义的。

真正的意思是"后面不跟"是负面展望,事实上,如果这些是可选的,那么它们就没有意义了(例如:它们可以省略)。

"?"是"可选"量词,即前一项的零或一

整个正则表达式的意思是任何5个字符,其中可选的第6个字符不是"e",例如"eeeee"one_answers"eeeee-x"都将匹配。

最新更新