飘在天空的雨 發表於 2024-5-14 09:29:32

正则表达式匹配双引号常用例子总结

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">1.正则表达式匹配引号</a></li><li><a href="#_label1">2.正则表达式匹配正则表达式中用到的特殊符号时需加\\</a></li><li><a href="#_label2">3.正则表达式中各种扩号()[]{}作用</a></li><li><a href="#_label3">4.常用匹配例子</a></li><ul class="second_class_ul"><li><a href="#_lab2_3_0">例子(匹配英语键盘上的任意非空字符)</a></li><li><a href="#_lab2_3_1">例子(匹配任意合法表示的有理数)</a></li><li><a href="#_lab2_3_2">例子(匹配任意合法表示的非负有理数)</a></li><li><a href="#_lab2_3_3">例子(匹配任意合法表示的正有理数)</a></li><li><a href="#_lab2_3_4">例子(匹配任意合法表示的整型数字)</a></li><li><a href="#_lab2_3_5">例子(匹配任意合法表示的非负整型数字)</a></li><li><a href="#_lab2_3_6">例子(匹配任意合法表示的正整型数字)</a></li><li><a href="#_lab2_3_7">例子(匹配任意合法表示的密码)</a></li></ul><li><a href="#_label4">总结&nbsp;</a></li><ul class="second_class_ul"></ul></ul></div><p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202405/202451493359479.png" /></p>
<p class="maodian"><a name="_label0"></a></p><h2>1.正则表达式匹配引号</h2>
<p>匹配双引号<code>&quot;</code>用<code>\&quot;</code>匹配单引号<code>&#39;</code>用<code>&#39;</code></p>
<p class="maodian"><a name="_label1"></a></p><h2>2.正则表达式匹配正则表达式中用到的特殊符号时需加\\</h2>
<p>如<code>()[]{}/|\-+</code>匹配<code>[</code>用<code>\\[</code>匹配<code>]</code>用<code>\\]</code>匹配<code>\</code>用<code>\\\\</code>匹配<code>/</code>用<code>\\/</code>匹配<code>|</code>用<code>\\|</code>匹配<code>-</code>用<code>\\-</code>匹配<code>+</code>用<code>\\+</code></p>
<p>匹配大写英文或小写英文或数字或下划线用<code>\\w</code>或<code>0-9a-zA-Z_</code></p>
<p class="maodian"><a name="_label2"></a></p><h2>3.正则表达式中各种扩号()[]{}作用</h2>
<p>中括号<code>[]</code>表示匹配单个字符,匹配中扩号里列出的任意一个字符</p>
<div class="jb51code"><pre class="brush:js;">//匹配d或s或a
</pre></div>
<p>小括号<code>()</code>表示匹配字符串,匹配小扩号里列出的所有字符构成的字符串</p>
<div class="jb51code"><pre class="brush:js;">(dsaff) //仅能匹配dsaff
</pre></div>
<p>大括号<code>{}</code>表示匹配的次数,放于<code>()或[]</code>之后</p>
<div class="jb51code"><pre class="brush:js;">{1,8}//匹配1-8次,如匹配d,dd,dddddddd
</pre></div>
<div class="jb51code"><pre class="brush:js;">(dsa){1,8}//匹配1-8次(dsa),如匹配dsa,dsadsadsadsadsadsadsadsa
</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>4.常用匹配例子</h2>
<p class="maodian"><a name="_lab2_3_0"></a></p><h3>例子(匹配英语键盘上的任意非空字符)</h3>
<div class="jb51code"><pre class="brush:cpp;"> QRegExp re("^[\\w~!@#$%^&amp;*()+`={}:;&lt;&gt;?,.|'\"\[\\]\\-\\/\\\\]+$");
   
QString test("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=~!@#$%^&amp;*()_+[]{}|;:'\"\\/,.&lt;&gt;?");

bool match = re.exactMatch(test);//match=true
</pre></div>
<p class="maodian"><a name="_lab2_3_1"></a></p><h3>例子(匹配任意合法表示的有理数)</h3>
<div class="jb51code"><pre class="brush:cpp;"> QRegExp reg("^(\\-(?!0(?!\\.))|\\+(?!0(?!\\.)))?(0|\\d*)(\\.\\d+)?$");
   
QString test("41424.4155346");

bool match = re.exactMatch(test);//match=true
</pre></div>
<p class="maodian"><a name="_lab2_3_2"></a></p><h3>例子(匹配任意合法表示的非负有理数)</h3>
<div class="jb51code"><pre class="brush:cpp;"> QRegExp reg("^(\\+(?!0(?!\\.)))?(0|\\d*)(\\.\\d+)?$");
   
QString test("41424.4155346");

bool match = re.exactMatch(test);//match=true
</pre></div>
<p class="maodian"><a name="_lab2_3_3"></a></p><h3>例子(匹配任意合法表示的正有理数)</h3>
<div class="jb51code"><pre class="brush:cpp;"> QRegExp reg("^(\\+)?(0(?=\\.)|\\d*)(\\.\\d+)?$");
   
QString test("41424.4155346");

bool match = re.exactMatch(test);//match=true
</pre></div>
<p class="maodian"><a name="_lab2_3_4"></a></p><h3>例子(匹配任意合法表示的整型数字)</h3>
<div class="jb51code"><pre class="brush:cpp;"> QRegExp reg("^(\\-(?!0)|\\+(?!0))?(0|\\d*)$");
   
QString test("414246");

bool match = re.exactMatch(test);//match=true
</pre></div>
<p class="maodian"><a name="_lab2_3_5"></a></p><h3>例子(匹配任意合法表示的非负整型数字)</h3>
<div class="jb51code"><pre class="brush:cpp;"> QRegExp reg("^(\\+(?!0))?(0|\\d*)$");
   
QString test("414246");

bool match = re.exactMatch(test);//match=true
</pre></div>
<p class="maodian"><a name="_lab2_3_6"></a></p><h3>例子(匹配任意合法表示的正整型数字)</h3>
<div class="jb51code"><pre class="brush:cpp;"> QRegExp reg("^(\\+)?(\\d*)$");
   
QString test("414246");

bool match = re.exactMatch(test);//match=true

</pre></div>
<p class="maodian"><a name="_lab2_3_7"></a></p><h3>例子(匹配任意合法表示的密码)</h3>
<div class="jb51code"><pre class="brush:cpp;">QRegExp reg("^[\\w~!@#$%^&amp;*()+`={}:;&lt;&gt;?,.|'\"\[\\]\\-\\/\\\\]+$");
      if (!reg.exactMatch(value.data())) {
            message_ =
                QObject::tr("The password can only contanin numbers, English "
                            "characters or special characters")
                  .toStdString();
            return false;
      }
      return true;</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>总结&nbsp;</h2>
頁: [1]
查看完整版本: 正则表达式匹配双引号常用例子总结