我正试图更好地理解问号在正则表达式中的工作原理
^.{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"都将匹配。