regex: Belirli bir etiketle bitmeyen tüm satırları seçin


0

Bu 4 satır var, hepsi etiketle <p class="TEST">başlayıp <br>sonuncusu dışında etiketle biten .

<p class="TEST">My mother is at home.<br>
<p class="TEST">My father is at home.<br>
<p class="TEXT">My sister is at home.<LLbr>
<p class="TEXT">My brother is at home.<AAbr>

Bu yüzden bitmeyen TEXT etiketli tüm satırları bulmak istiyorum <br>

Çıktı sonucum olmalı

<p class="TEXT">My sister is at home.<LLbr>
<p class="TEXT">My brother is at home.<AAbr>

Bir regex yaptım, ama çok iyi değil. (?-s)(.*<p class="TEXT">.*)(?-s)(?!)<br>(.*)$


Bir seçenek, bu size ne istediğinizi verebilir. Arama iletişim kutusunu getirmek için Ctrl-F tuşlarına basın, ardından İşaretle sekmesini tıklayın. Yer imi çizgisi seçeneğini işaretleyin ve <br> veya çizgiyi işaretlemek için neye ihtiyacınız varsa onu arayın. Ardından Arama - Yer imine gidin ve ters yer imini seçin. Bu iş akışını birçok senaryoda yardımcı buluyorum. Umarım yardımcı olur.
18'de

Kontrol etmek için 5000'den fazla .html dosyam var :) Her birini ayrı ayrı kontrol etmek için zamanım yok :)
Just Me

Yanıtlar:


3
  • Ctrl+H
  • Ne buldun: <p class="TEXT">(?:(?!<br>)(?!<p).)*(?:<.+?>|\z)
  • Eşleşme durumunu kontrol et
  • Etrafına sar
  • Düzenli ifadeyi kontrol et
  • uncheck . matches newline
  • Search in document

Açıklama:

<p class="TEXT">    # literally
(?:                 # start non capture group
  (?!<br>)          # negative lookahead, make sure we haven't <br>
  (?!<p)            # negative lookahead, make sure we haven't <p
  .                 # any character but newline
)*                  # group may appear 0 or more times
(?:                 # non capture group
   <.+?>            # a tag
 |                  # OR
   \z               # end of string
)                   # end of group

görüntü tanımını buraya girin

DEMO


merhaba Toto, çok teşekkürler. Ancak, başka bir senaryo. <br>Etiketin bir sonraki satırda olduğunu ve bunu da bulmak istemiyorum çünkü bunun için <br> var. Bu bağlantıya bakın regex101.com/r/vSfrsv/2
Just Me


teşekkürler, Toto. Lütfen, herhangi birisine ihtiyaç duyması durumunda, cevabınızı bu alternatif regex çözümü ile güncelleyin. Ve ayrıca, lütfen regex'in bu bölümünün ne anlama geldiğini açıklayın: (?! <P).) * (?: <. +?> | \ Z)
Just Me 16

@JustMe: düzenleme yapıldı.
Toto

lütfen bu gerçek durumu görün. regex101.com/r/y8GB6e/1 Regex'inizi biraz değiştirebilirim, gerçek etiketlerimle. Fakat işe yaramıyor. Lütfen bana yardımcı olun ve aşağıdaki bağlantıdaki iyi sürümü değiştirin. <br> yerine ben </p>
Just Me
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.