0

たとえば、次のような正規表現があるとします。

<li id="ctl00_dashboard1_liReports" class="fade_hover tooltip" title="Reports">
    <a id="ctl00_dashboard1_HyperLink1" href="reportlist.aspx"><img id="ctl00_dashboard1_imgCheck3" src="assets/icons/dashboard/81.png" alt="Reports" style="border-width:0px;" />
        <span>Reports</span></a></li>
<li id="ctl00_dashboard1_messagetitle" class="fade_hover tooltip" title="8 new alerts">
    <a id="ctl00_dashboard1_messagelink" href="reportlist.aspx?sectionname=My+Tasks"><img id="ctl00_dashboard1_imgCheck4" src="assets/icons/dashboard/75.png" alt="My Tasks" style="border-width:0px;" />
        <span>My Tasks</span></a><span class="bubble">8</span></li>
<li id="ctl00_dashboard1_adminli" class="fade_hover tooltip" title="Admin">
    <a id="ctl00_dashboard1_lnkUser" href="/admin/useradmin.aspx"><img id="ctl00_dashboard1_imgCheck2" src="assets/icons/dashboard/54.png" alt="Admin" style="border-width:0px;" /><span id="ctl00_dashboard1_lbladmin">Admin</span></a></li>
<li id="ctl00_dashboard1_lilogout" class="fade_hover tooltip " title="End current session">
    <a id="ctl00_dashboard1_lnkLogout" href="/default.aspx"><img src="assets/icons/dashboard/118.png" id="ctl00_dashboard1_imgCheck5" alt="Logout" />
        <span>Logout</span></a></li>

そして、href の後のすべての .aspx リンクを別の文字列に置き換えたいと考えています。私の正規表現はほとんどそこにありますが、クエリ文字列がヒットすると失敗します:

((&quot;|')[a-z0-9\/\.\?\=\&amp;]*(\.aspx|\.php|\.jsp)[a-z0-9\/\.\?\=\&amp;]*(&quot;|"))|(href=*?[a-z0-9\/\.\?\=\&amp;&quot;"]*)

以下に一致しますが、ご覧のとおり、クエリ文字列の = で停止します。どんな助けでも本当に感謝します。

ここに画像の説明を入力

ここに画像の説明を入力

4

2 に答える 2

0

これはどう:

href=\".*.aspx[^\"]*\"

この正規表現では、一部が欠けている可能性があるため、特別な文字と数字を含める必要はありません。

于 2013-04-29T13:53:43.140 に答える
0

これは次のことを行う必要があります。

href=.*.aspx[0-9a-zA-Z\;\+\=\?\%\&]*

RegexPalでテスト済み。

編集:いくつかの特別な文字と数字を含めるように編集

于 2013-04-29T13:42:46.410 に答える