2

これは初心者の質問かもしれませんが、私はここや他のサイトで回答者を見つけようとしましたが、まだ回答者が見つかりません。少なくとも、問題を解決するのに十分理解できるほどではありません。

これは、chromeのユーザースクリプトで使用されます。

文字列から日付を選択しようとしています。文字列は、私が選択したタグのinnerHTMLです。html構造、および文字列は次のようになります:( divは選択されたタグであるため、内部のすべてが文字列のコンテンツになります)

<div id="the_selected_tag">  
    <a href="http://www.something.com"  title="something xxx">link</a>  
    " 2011-02-18 23:02"  
    <a href="http://www.somthingelse.com" title="another link">thing</a>
</div>

このファズなしで日付を選択するのに役立つ解決策があれば、それも素晴らしいでしょう。

javascript:

var pattern = /\"\s[\d\s:-]*\"/i;
var tag = document.querySelector('div.the_selected_tag');
var date_str = tag.innerHTML.match(pattern)[0]

このスクリプトをHTMLドキュメントで通常のJavaScriptとして使用してテストすると、完全に機能しますが、Chromeでユーザースクリプトとしてインストールすると、パターンが見つかりません。

この問題を回避する方法がわかりません。

4

2 に答える 2

2

innerHTMLをコンソールにダンプします。正常に見える場合は、より一般的な()からより具体的なものへの正規表現の構築を開始/\d+/し、すべてをコンソールに出力します。さまざまなエンコーディング、さまざまな種類のダッシュのさまざまな引用文字がたくさんあります。

[\d\s:-]*" 1"、に一致するため、あまり適切な選択ではありません" "。私はむしろできるだけ具体的な何かを書きたいです:

/" \d{4}-\d{2}-\d{2} \d{2}:\d{2}"/

(また、サンプルでnullを返しますが、おそらく代わりにdocument.querySelector('div.the_selected_tag')書き込みたいと思います)classid

于 2011-02-18T23:36:41.933 に答える
1

tag.innerHTMLに、含まれていると思われるものが含まれていない可能性がはるかに高くなります。

于 2011-02-18T22:05:21.043 に答える