2012-02-10 12 views
0

私はjqueryを使用して名前のテーブル列をソートしています。私はjsですべて設定されている、ちょっと正規表現のコマンドに固執。正規表現で姓を並べ替えることを許可する正規表現

私が探しているものの

例:あなたはJavaScriptで置き換える使用していると仮定すると、いくつかの研磨を必要と

<a href="bac">John <strong>Smith</strong></a> => Smith</strong></a> 
<a href="abc">John <strong>La Smith</strong></a> => La Smith</strong></a> 

私の現在の文...

/<a.*>.+ /i 

答えて

2

、次のように動作します:

var nameLink = '<a href="bac">John <strong>Smith</strong></a>'; 
var lastName = nameLink.replace(/<a.*?<strong>(.*?)<\/strong>.*?<\/a>/i,"$1"); 

が与え

Smith 
La Smith 

である。

これは非常に初歩的な正規表現です。多くの前提が組み込まれています。あなたのリンクは常に<strong>の中に姓があると仮定しています。そしてあなたのリンクは常にこの形式のものです。

私はあなたのコードでこれをどのように使用する予定なのかよくわからないので、私は置換の正規表現を提供しました。 .*?

  • Aは<strong>
  • 別の非ハード:

    • Aは<a
    • 必要な数の文字の非貪欲キャプチャを開始ハードコード:

      正規表現自体はわずかであり、/<a.*?<strong>(.*?)<\/strong>.*?<\/a>/iあります-greedyキャプチャ - この場合、強力なタグ内のすべて

    • ハコーディングクローズ強力タグ
    • 強力な終了タグの後に文字が存在しないことを確認するために余分な貪欲なキャプチャを行います。
    • タグのハードコーディングが終了しました。

    おそらく、しかし、あなたは正規表現で<a<\/a>を排除することができることを意味するリンク、内部の内容を取得するためにjqueryのを使用したいと思います。

  • +0

    私は完全に忘れました...強く...それはかなり簡単にしました...時々私は多くの考えを与える前に投稿します。ありがとう – Jeffrey

    関連する問題