요구 사항 : 다음 데이터가 regEX와 일치해야합니다. <H2>Composition<\H2>
는 하나의 고정 패턴 다음에 정규 표현식을 사용하는 다른 패턴이 여러 개 있습니다.
Name
의 숫자가있을 수 있습니다 후 Name
항상 올 것이라는 점을 고려
$regex
필요 : 나는 이름 1 명 2 명 3 명 4일부 조건을 얻을 필요 예를 들어,
Composition
다음에는 하나의 패턴이Name1
이거나 두 패턴이Name1
및Name2
일뿐입니다.- 적어도 하나의
Name
패턴이 작곡 이후에 존재합니다.
지금까지, 난 단지 스크립트를 다음을 통해<H2>Composition</H2> <A href="/generics/levocetrizine-210129">Name 1</A>, <A href="/generics/paracetamol-210459">Name 2(500 mg)</A>, <A href="/generics/phenylephrine-hydrochloride-210494">Name 3</A>, <A href="/generics/ambroxol-hydrochloride-211798">Name 4</A></DIV></DIV></DIV></DIV>
Name
즉Name1
첫번째 얻을 수있을 수 :
예 "의 구성은 다음 이름 1이 반드시있을 것입니다 존재"같은 정규식해야한다. 내 스크립트는 단순히 "Name"의 나머지 부분을 무시합니다. 즉 위의 경우 Name2, Name3 및 Name4가 출력 결과에서 누락되었습니다.
[regex]$regex =
@'
(?s).+?<H2>Composition</H2>.*?href="/generics/.*?">(.*?)</A>
'@
''의 첫 번째 발생에서 멈추는 지연 연산자'?'를 사용하고 있습니다. –
제거하면 마지막 "이름"이 표시됩니다. 위의 경우 Name4 만 해당됩니다. 나는 모든 이름이 필요하다. 이름 1, 이름 2, 이름 3, 이름 4. – Powershel
나는 비슷한 것을 할 수 있습니까? 하나의 "작곡"인스턴스 다음에 "이름"인스턴스가 여러 개 이어짐 – Powershel