php 편집기 Banana는 강력하고 일반적으로 사용되는 문자열 처리 도구인 정규식을 소개합니다. 정규식은 문자열 일치 시 대괄호 사이의 텍스트를 제외할 수 있으며 이는 복잡한 텍스트 데이터를 처리할 때 매우 유용합니다. 간단한 구문 규칙을 통해 문자열을 쉽게 필터링하고 추출할 수 있어 데이터 처리의 효율성과 정확성이 향상됩니다. 웹 페이지를 개발하든, 데이터를 처리하든, 텍스트 분석을 수행하든 정규식을 익히는 것은 필수적인 기술입니다. 함께 정규식을 배우고 문자열 처리 능력을 향상시켜 봅시다!
다음 텍스트 제공:
으아악나는 그 텍스트에 대한 모든 것을 &&
匹配的正则表达式,但排除括号之间的内容(因此 value3 和 field4 之间的 && 应被忽略)。我已经能够使用以下正则表达式来完成此操作: (&{2})(?![^(]*))
만들려고 노력 중입니다. [이것은 작동하고 내가 필요한 것을 하고 있습니다] 그러나 문제는 부정적인 예측을 지원하지 않는 golang을 사용하고 있다는 것입니다. 부정적인 예측 없이 할 수 있는 방법이 있나요? 괄호는 중첩될 수 없습니다.
기본적으로 &&
로 나누고 싶지만 괄호 사이에 있는 내용을 무시하고 다음과 같은 결과를 얻습니다.
감사합니다!
원하지 않는 모든 항목을 일치시키되 캡처하지 않고 원하는 모든 항목을 일치시키고 캡처하는 기술을 사용할 수 있습니다(예: 캡처 그룹에 저장). 이를 수행하려면 다음 정규식을 사용할 수 있습니다.
으아악는 "대괄호 또는 (|
) 匹配字符串 ”&&“
로 묶인 문자열을 일치시키고 캡처 그룹 1에 저장합니다."라고 읽습니다. 잡히지 않은 일치 항목을 무시하는 것이 (코드에서) 아이디어입니다.
다음 문자열의 경우 일치 항목을 표시합니다("m"
s 表示)和捕获(由 "c"
s로 표시).
문자열 일치 항목({
)的开头,([^]]*)
和 (&&)
都不匹配,因此字符串指针前进一位到 f
。同样,没有匹配项,因此字符串指针又前进一个字符,指向 1
。这将继续(没有匹配项),直到到达第一个 &
。 ([^]]*)
不匹配,但 (&&)
. 이 일치 항목이 캡처되었기 때문에 관심이 있습니다(그룹 1 캡처).
문자열 포인터는 한 번에 한 문자씩 앞으로 이동하여 (
。此时,({f3} == v3 && {f4} == v4)
与 ([^]]*)
일치 항목에 도달할 때까지 더 이상 일치 항목을 찾지 않습니다. 하지만 캡처되지 않았기 때문에 신경 쓰지 않습니다. 이는 문자열 끝에 도달할 때까지 계속됩니다.
또는 정규식을 사용할 수도 있습니다
으아악 각 일치 항목의 첫 번째 문자를 확인하세요. (
그렇다면 우리는 경기를 고려하여 포기합니다.
각 &&
항목이 발견되면 코드에서 이를 다른(아마도 비어 있는) 문자열로 대체하거나, 문자열에서 오프셋을 가져오거나(어떤 목적으로) 단순히 문자열에서 일치하는 항목 수의 카운터를 증가시킬 수 있습니다. 물론 이는 우리가 이러한 문자열을 일치시키려는 이유에 따라 다릅니다.
위 내용은 대괄호 사이의 텍스트를 일치에서 제외하는 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!