-2

このhtmlからテキスト「28 N John Young Pkwy」を抽出するための正規表現は何ですか?

28 N John Young Pkwy<br />              
<span class="locality">Kissimmee</span>,                    
<span class="region">FL</span>                  
<span class="postal-code">34741</span>

アドレスは毎回変わるので、
タグの前の一般的なテキストに一致するものを探しています。データ形式は常に同じです。私はJavaScriptを使用しています。また、コンストラクターにどのように入力する必要があるかについても検討しています。次のようなものにする必要があります。

var re = new RegExp("^.*?(?=<br />)");
var m = re.exec(textabove);
4

3 に答える 3

1

/^[^<]*/正常に動作するはずです(regexpal.comで確認できます-スラッシュを削除してください)

編集:これは、抽出しているデータにない場合にのみ機能<しますが、肯定的な先読みおよび/または怠惰を使用する他の回答よりも効率的です。

編集 2: ここにjsfiddleがあります。

于 2013-02-01T20:23:24.920 に答える
0

これは、javascript (バージョン 1.5 以降) では難しくありません。

<div id='address'>
    28 N John Young Pkwy<br />              
    <span class="locality">Kissimmee</span>,                    
    <span class="region">FL</span>                  
    <span class="postal-code">34741</span>
</div>
var re = new RegExp(".*?(?=<br>)");
var m = re.exec($('#address').html());
alert(m[0]);

ここのコード例を参照してください: http://jsfiddle.net/dnx2B/

ただし、正直なところ、正規表現を使用しない方がはるかに簡単です。

alert($('#address')[0].firstChild.data); // returns exactly the same thing.
于 2013-02-01T20:20:55.090 に答える
0

の前のテキストだけを探している場合は<br>、次のようになります。

^(.*?)<br
于 2013-02-01T20:25:53.867 に答える