0

私はユーザースクリプトに取り組んでおり、これらの太字タグの内部テキストを取得しようとしています. 残念ながら、getelementbyid または getelement 関数のいずれかを使用することはできません。また、必要のない太字のタグが他にもあるため、正規表現を試しています。STRING123、STRING456 などを取得するにはどうすればよいですか?

私は試してみ(?<=bold\"\>)(.*?)(?=\<\/b\>)ましたが、運が悪いので bold\"\>(.*)\<\/b\>刺し傷全体が得られませんが、内側の部分だけが必要です.

<b style="color:#ffffff;text-transform:uppercase;font-size:10pt;font-weight:bold">STRING123</b>
<b style="color:#ffffff;text-transform:uppercase;font-size:10pt;font-weight:bold">STRING456</b>
<b style="color:#ffffff;text-transform:uppercase;font-size:10pt;font-weight:bold">STRING789</b>
<b style="color:#ffffff;text-transform:uppercase;font-size:10pt;font-weight:bold">STRING101112</b>
<b style="color:#ffffff;text-transform:uppercase;font-size:10pt;font-weight:bold">STRING131415</b>
4

3 に答える 3

0

必要bな要素のフォントの太さが、例のようにインラインスタイルを使用して定義されている場合は、たとえば、

var i, b,
    bolds = document.getElementsByTagName('b');

for ( i = 0; i < bolds.length; i++ ) {
    b = bolds[i];  

    if ( b.style.fontWeight == 'bold' || b.style.fontWeight == '700' ) {
        console.log( b.innerText || b.textContent ); 
    }        
}
于 2013-03-02T19:44:01.693 に答える
0

あなたの正規表現は問題ありません。$1一致すると文字列全体が返されますが、特定の一致の最初のグループのみが必要です。したがって、プログラミング言語に応じて、result("$1")またはgroup(1)などです。

編集

var myString = "style=color:#ffffff;text-transform:uppercase;font-size:10pt...";
var myRegexp = /bold\"\>(.*)\<\/b\>/g;
var match = myRegexp.exec(myString);
alert(match[1]);
于 2013-03-02T14:13:08.743 に答える
0

この方法で試してみます

/<b[^>]*bold[^>]*>([^<]*)<\/b>/g
于 2013-03-02T14:13:25.047 に答える