我有这个正则:

^(^?)*\?(.*)$

如果我正确理解,这就是它所做的事情的崩溃:

  • ^ - 从字符串的开头开始匹配
  • (^?)* - 我不知道,但它以$ 1的价格存储
  • \? - 匹配问号
  • (。*)$ - 匹配任何东西,直到字符串结束

那么(^?)*是什么意思?

答案

(^?)只是在寻找字面角色^。这^正则形式中的字符仅在用作模式的第一个字符或分组匹配中的第一个字符时具有特殊含义[]。当在这两个位置外使用时^在外观中被解释为^输入字符串中的字符

注意:是否^从字面上解释了第一个和分组位置之外的位置是正则引擎。我对Lua不太熟悉,以至于说什么

来自: stackoverflow.com