키워드 추가 링크
C# code
for
(
int
i
=
0
; i
<
str1.Count; i
++
) { tmp
=
new
StringBuilder(str1[i]);
if
(Regex.Replace(tmp.ToString(),
@"
<.+?>
"
,
""
).Length
>
5
)
//
Regex tagReg
=
new
Regex(
@"
<(?>[^>]*)>
"
, RegexOptions.Compiled);
for
(
int
i
=
0
; i
<
str1.Count; i
++
) { tmp
=
new
StringBuilder(str1[i]);
if
(tagReg.Replace(tmp.ToString(),
""
).Length
>
5
)
6. '|' 에서 '또는' 의 분기 구 조 를 취하 면 효율 에 대한 영향 도 매우 크다. 따라서 일반적인 상황 에서 분기 구 조 를 사용 할 때 가능 한 한 똑 같은 규칙 을 추상 화하 고 분기 의 복잡 도 를 간소화 해 야 한다.
C# code
(
<
a .
+?</
a
>
)
|
(
<
pre(
>|
/s).
+?</
pre
>
)
//
<
(a
|
pre)/b(
?
:(
?!</?
/
1
).)
*</
/
1
>
7. 순환 중 사용, 포획 그룹 이 반드시 사용 해 야 할 이유 가 없 을 때, 비 포획 그룹 으로 대체
캡 처 그룹 이 일치 하면 일치 하 는 내용 을 한 그룹 에 저장 하여 나중에 참조 할 수 있 도록 합 니 다. 따라서 의미 없 는 캡 처 그룹 은 메모 리 를 사용 하여 효율 을 낮 출 수 있 습 니 다.
그래서 순환 체 중 에...
C# code
reg2
=
new
Regex(
@"
((^|>)[^<]+?)(
"
+
_tag
+
"
)
"
, RegexOptions.IgnoreCase);
//
tmp.Insert(mat2.Index, mat2.Groups[
1
].Value
+
"
<a href='/tag/
"
+
mat2.Groups[
2
].Value
+
"
.htm'>
"
+
mat2.Groups[
2
].Value
+
"
</a>
"
);
//
reg2
=
new
Regex(
@"
(?<=(?:^|>)(?:(?!
"
+
_tag
+
"
).)*)
"
+
_tag , RegexOptions.IgnoreCase); tmp.Insert(mat2.Index,
"
<a href='/tag/
"
+
mat2.Value
+
"
.htm'>
"
+
mat2.Value
+
"
</a>
"
);
건물 주의 실현 사고 에 제한 을 받는다. reg 2 라 는 정규 는 반드시 동태 적 으로 생 성 되 어야 하기 때문에 순환 체 외 를 추출 할 방법 이 없고 이곳 은 성능 에 대한 영향 이 비교적 크다.
8. 또한. NET 에서 정규 표현 식 을 동적 으로 생 성 할 때 변수 에 정규 에서 구체 적 인 의미 가 있 는 문자 가 존재 하지 않도록 정규 해석 에 실패 하고 이상 한 문 제 를 던 질 때 Regex. Escape () 방법 으로 변 수 를 미리 처리 할 수 있 습 니 다.
C# code
reg2
=
new
Regex(
@"
(?<=(?:^|>)(?:(?!
"
+
Regex.Escape(_tag)
+
"
).)*)
"
+
Regex.Escape(_tag) , RegexOptions.IgnoreCase);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
거품 정렬 최적화 알고리즘 (자바)기본 적 이 고 질서 있 는 데이터 에 대해 최 적 화 된 거품 정렬 을 사용 하 는 것 이 가장 좋 은 선택 이다. 그 는 데이터 가 질서 가 있 는 것 을 발견 한 후에 정렬 을 끝 낼 것 이다. 코드 는 다음 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.