擅长:python、mysql、java
<p><strong>没有可能的正则表达式语言可以描述这一点,因为所描述的语言不是<a href="https://en.wikipedia.org/wiki/Regular_language" rel="nofollow noreferrer">regular language</a>。</strong>
引用上面的维基百科链接:</p>
<blockquote>
<p>The collection of regular languages over an alphabet Σ is defined recursively as follows:</p>
<ul>
<li>The empty language Ø, and the empty string language {ε} are regular languages.</li>
<li>For each a ∈ Σ (a belongs to Σ), the singleton language {a} is a regular language.</li>
<li>If A and B are regular languages, then A ∪ B (union), A • B (concatenation), and A* (Kleene star) are regular languages.</li>
<li>No other languages over Σ are regular.</li>
</ul>
</blockquote>
<p>没有固定字符串、并集、连接或Kleene星形操作(必须为零或更多,没有进一步的约束)的组合可以描述上述情况,因为没有允许长度匹配断言的运算符。(类似地,允许反向引用的“regex”语言也不是真正的regex语言)</p>
<p>因此,任何能够描述上述语言的“regex语法”都不是真正的正则表达式语法</p>