저는 4 개의 정규 표현식을 가지고 있습니다. 그리고 그것들은 훌륭하게 작동하지만 일부 응용 프로그램에서는 CPU를 pegging하고 있습니다. 나는 그들이 가장 잘 보이는 정규 표현식이라는 것을 알고 있지만, 나는 더 나은 방법을 확신하지 못한다. 정규 표현식을 최적화하기 위해 할 수있는 일이 있습니까?Regex는 CPU를 pegging하고 있습니다
itemtype="http://schema.org/"
itemtype="http://data-vocabulary.org/"
을하지만 공간의 양이 여전히 HTML에서 유효 할 것이기 때문에 :
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://schema.org/"
itemtype=" http://schema.org/ "
는 모든 유효한 것입니다.
업데이트 : 여전히 CPU를 잘못 처리합니다.
\s+itemtype\s*=\s*(?:'|"")\s*http://schema\.org/
끝에'('| "")'가 없습니다. – dasblinkenlight
@ dasblinkenlight : 무엇이라도 있으면 닫는'\ 1'이어야합니다. –
@TimPietzcker 당연히 그것 *해야 * (와 대답 * 그것은 *),하지만 OP는 후행 따옴표에 대해 잊어 버린 댓글 질문에'('| "")는 역 참조보다 이해하기 쉽습니다. – dasblinkenlight