我有 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/