Tajuk ditulis semula sebagai: "Ungkapan biasa yang berfungsi apabila menggunakan bendera u, tetapi tidak apabila menggunakan bendera v"
P粉684720851
2023-08-25 15:47:43
<p>Saya menemui amaran konsol berikut dalam corak regex ini: </p>
<pre class="brush:php;toolbar:false;">^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9]+\.[a-zA- Z0-9]+$</pre>
<blockquote>
<p>Nilai atribut corak <kod>^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9]+.[a-zA-Z0-9]+$< ;/kod> sah menggunakan bendera <kod>u</kod> RegExp, tetapi tidak dengan bendera <kod>v</kod> -zA-Z0-9+_.-]+@[a-zA-Z0-9]+</kod>.<kod>[a-zA-Z0-9]+$/v:</ kod> Terdapat aksara tidak sah dalam kelas aksara. </p>
</blockquote>
<p>Saya tidak dapat melihat cara mencipta corak regex yang sah untuk menyelesaikan amaran ini. Bolehkah sesiapa menerangkan ralat dan cara membetulkannya? </p>
<p>Cuba melihat dokumentasi tetapi tidak dapat mencari cara untuk menjadikannya berfungsi dengan bendera <kod>v</code> </p>
Masalahnya ialah
v
标志对转义规则施加了更多限制。由于它允许字符类的减法和交集,因此字符类末尾的字面量-
yang baru diperkenalkan tidak boleh terlepas.Jadi jika anda menggunakan bendera
u
标志,就没有这样的限制,而使用v
, terdapat sekatan sedemikian. Lihat.