私はスピンアップした4つの正規表現を持っており、それらはうまく機能しますが、一部のアプリケーションではCPUをペッグアウトしています。それらが非常に見栄えの良い正規表現であることは知っていますが、より良い方法はわかりません。これらの正規表現を最適化するためにできることはありますか?
public static Regex schemaOrg = new Regex(@"\s*itemtype\s*=\s*('|"")\s*http://schema.org/\s*", RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled);
public static Regex dataVocabulary = new Regex(@"\s*itemtype\s*=\s*('|"")\s*http://data-vocabulary.org/\s*", RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled);
基本的に探しているもの:
itemtype="http://schema.org/"
itemtype="http://data-vocabulary.org/"
ただし、スペースをいくらでも使用すると、htmlでも有効になります。
例えば:
itemtype ="http://schema.org/"
itemtype= "http://schema.org/"
itemtype=" http://schema.org/ "
すべて有効になります。
更新:それでもCPUが不良になります。
\s+itemtype\s*=\s*(?:'|"")\s*http://schema\.org/