kzen.dev
  • Frågor
  • Taggar
  • Användare
Meddelanden
Belöningar
Registrering
När du har registrerat dig kommer du att få information om svar och kommentarer på dina frågor.
Logga in
Om du redan har ett konto loggar du in för att kontrollera nya meddelanden.
Det kommer att finnas belöningar för frågor, svar och kommentarer.
Mer
Källa
Redigera
 Jeff
Jeff
Question

RegEx matchar öppna taggar utom XHTML-taggar som är fristående.

Jag måste matcha alla dessa öppningstaggar:

<p>
<a href="foo">

Men inte dessa:

<br />
<hr class="foo" />

Jag kom på detta och ville försäkra mig om att jag har förstått det rätt. Jag fångar bara a-z.

<([a-z]+) *[^/]*?>

Jag tror att det står:

  • Hitta ett mindre än, sedan
  • Hitta (och fånga) a-z en eller flera gånger, sedan
  • Hitta noll eller flera mellanslag, sedan
  • Hitta alla tecken noll eller flera gånger, girigt, utom /, sedan
  • Hitta ett större än

Har jag förstått det rätt? Och ännu viktigare, vad tycker du?

1323 2009-11-13T22:38:26+00:00 3
 richarbernal
richarbernal
Redigerad fråga 2012ör maj 2012 в 8:37
Programmering
regex
xhtml
html
Popular videos
JavaScript Form Validation
JavaScript Form Validation
för 4 år sedan
Regular Expression - Examples
Regular Expression - Examples
för 6 år sedan
Regular Expressions (RegEx) Learn and Master | Match HTML Tags #9
Regular Expressions (RegEx) Learn and Master | Match HTML Tags #9
för 5 år sedan
UiPath | Matches and Regex | Simple and Complete Tutorial
UiPath | Matches and Regex | Simple and Complete Tutorial
för 3 år sedan
Regular Expression Basics
Regular Expression Basics
för 10 år sedan
RegEx match open tags except XHTML self-contained tags (html)
RegEx match open tags except XHTML self-contained tags (html)
för 1 år sedan
49. Javascript Regular Expressions. Learn Regex methods like match, exec and test methods.
49. Javascript Regular Expressions. Learn Regex methods like match, exec and test methods.
för 3 år sedan
«Այ տղան դու ես ոչխար», «Խուլիգանը ծնողդ ա». ԱԺ-ում կրքերը չեն հանդարտվում, լարված իրավիճակ է
«Այ տղան դու ես ոչխար», «Խուլիգանը ծնողդ ա». ԱԺ-ում կրքերը չեն հանդարտվում, լարված իրավիճակ է
för 1 år sedan
Regular Expressions (REGEX) - 02 | Basic pattern and Flags
Regular Expressions (REGEX) - 02 | Basic pattern and Flags
för 3 år sedan
OCPsoft Visual Regex Tester with Syntax Highlighting
OCPsoft Visual Regex Tester with Syntax Highlighting
för 10 år sedan
6. RegEx with VBA - Writing real codes using Meta Characters in RegEx Pattern
6. RegEx with VBA - Writing real codes using Meta Characters in RegEx Pattern
för 2 år sedan
Demystifying Regular Expressions
Demystifying Regular Expressions
för 7 år sedan
FreeCodeCamp - JavaScript and Data Structures Regex: E3
FreeCodeCamp - JavaScript and Data Structures Regex: E3
för 2 år sedan
Regular Expressions Tutorial
Regular Expressions Tutorial
för 14 år sedan
Java - Regular Expressions
Java - Regular Expressions
för 5 år sedan
VBA - Regular Expression (RegExp)| Regular Expression in VBA | Use of RegExp in VBA
VBA - Regular Expression (RegExp)| Regular Expression in VBA | Use of RegExp in VBA
för 3 år sedan
Regular Expressions 1
Regular Expressions 1
för 3 år sedan
REGEXP LIKE or REGEXP COUNT
REGEXP LIKE or REGEXP COUNT
för 3 år sedan
DevFest DC - May 5, 2017 - Advanced HTTP Mocking with WireMock
DevFest DC - May 5, 2017 - Advanced HTTP Mocking with WireMock
för 6 år sedan
Review / Installing Slackware64-current /
Review / Installing Slackware64-current /
för 3 år sedan
« Föregående
Nästa »
Den här frågan har 1 svar på engelska, för att läsa dem logga in på ditt konto.
Solution / Answer
 bobince
bobince
2009ör november 2009 в 11:04
2009-11-13T23:04:30+00:00
Mer
Källa
Redigera
#9694465

Du kan inte analysera [X]HTML med regex. Eftersom HTML inte kan analyseras med regex. Regex är inte ett verktyg som kan användas för att korrekt analysera HTML. Som jag har svarat på frågor om HTML och regex här så många gånger tidigare, kan du inte använda regex för att konsumera HTML. Reguljära uttryck är ett verktyg som inte är tillräckligt sofistikerat för att förstå de konstruktioner som används i HTML. HTML är inte ett reguljärt språk och kan därför inte analyseras av reguljära uttryck. Regex-förfrågningar är inte utrustade för att bryta ner HTML i dess meningsfulla delar. så många gånger, men det når inte fram till mig. Inte ens förbättrade oregelbundna reguljära uttryck som används i Perl klarar av att analysera HTML. Du kommer aldrig att få mig att bryta ihop. HTML är ett språk som är tillräckligt komplext för att inte kunna analyseras med hjälp av reguljära uttryck. Inte ens Jon Skeet kan analysera HTML med hjälp av reguljära uttryck. Varje gång du försöker analysera HTML med hjälp av reguljära uttryck, gråter det oheliga barnet jungfruligas blod och ryska hackare tar din webbapplikation i besittning. Att analysera HTML med reguljära uttryck kallar på smutsiga själar till de levande. HTML och regex hör ihop som kärlek, äktenskap och rituellt barnamord. Den

kan inte hålla det är för sent. Kraften av regex och HTML tillsammans i samma begreppsutrymme kommer att förstöra ditt sinne som så mycket vattnigt kitt. Om du analyserar HTML med regex ger du efter för dem och deras hädiska sätt som dömer oss alla till omänskligt slit för den vars namn inte kan uttryckas i det grundläggande flerspråkiga planet, han kommer. HTML-plus-regexp kommer att göra de kännande människornas nerver flytande medan du observerar, och ditt psyke kommer att förtvina i skräckens anstormning. Rege̿̔̉x-baserade HTML-parsers är cancern som dödar StackOverflow det är för sent det är för sent vi kan inte räddas transgressionen av en chi͡ld säkerställer att regex kommer att konsumera all levande vävnad (utom HTML som den inte kan, som tidigare profeterats) kära herre hjälp oss hur kan någon överleva detta gissel att använda regex för att analysera HTML har dömt mänskligheten till en evighet av fruktansvärd tortyr och säkerhetshål att använda regex som ett verktyg för att bearbeta HTML etablerar en brytning mellan denna värld och det fruktansvärda riket av c͒ͪo͛ͫrrupt entiteter (som SGML entiteter, men mer korrupta) kommer en enkel glimt av världen av regex parsers för HTML att på ett instantly transport a programmer's medvetande into a world av oupphörligt skrikande, han kommer, den pestlika slithy regex-infektionen kommerl sluka din HTML parser, applikation och existens för all framtid som Visual Basic fast värre he comes he comes inte fight he com̡e̶s, ̕h̵is un̨ho͞ly radiańcé destro҉ying all enli̍̈́̂̈́ghtenment, HTML tags lea͠ki̧n͘g fr̶ǫm ̡yo͟ur eye͢s̸ ̛l̕ik͏e liquid pain, the song of re̸gular expression parsing will extinguish the voices of mortal man from the sphere I can see it can you see ̲͚̖͔̙î̩́t̲͎̩̱͔́̋̀ it is beautiful the final snuffing of the lies of Man ALL IS LOŚ͖̩͇̗̪̏̈́T ALL IS LOST the pon̷y he comes he c̶̮omes he comes the ichor permeates all MY FACE MY FACE ᵒh god no NO NOO NOO̼OO NΘ stop the an*̶͑̾̾̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s ͎a̧͈͖r̽̾̈́͒͑e not rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ ZA̡͊͠͝LGΌ ISͮ̂҉̯͈͕̹̘̱ TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚N̐Y̡ H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔̀ͅ


Har du försökt använda en XML-parser i stället?


Moderator's Note

Det här inlägget är låst för att förhindra olämpliga ändringar av innehållet. Inlägget ser ut precis som det ska se ut - det finns inga problem med innehållet. Var vänlig och flagga inte för att uppmärksamma oss på det.

 animuson
animuson
Redigerat svar 2014ör juli 2014 в 3:07
4420
0
Artificial intelligence to parse product page
productapi.dev
 Kobi
Kobi
2009ör november 2009 в 10:50
2009-11-13T22:50:48+00:00
Mer
Källa
Redigera
#9694464

Försök:

<([^\s]+)(\s[^>]*?)?(?<!/)>

Den liknar din, men det sista > får inte vara efter ett snedstreck, och accepterar även h1.

Peter Mortensen
Peter Mortensen
Redigerat svar 2009ör november 2009 в 9:12
181
0
Artificial intelligence to parse product page
productapi.dev
 Jherico
Jherico
2009ör november 2009 в 10:47
2009-11-13T22:47:17+00:00
Mer
Källa
Redigera
#9694463

Du vill att den första > inte ska föregås av ett /. Se här för detaljer om hur du gör det. Det kallas negativ lookbehind.

En naïve implementering av detta kommer dock att sluta med att matcha <bar/></foo> i det här exempeldokumentet.

<foo><bar/></foo>

Kan du ge lite mer information om det problem du försöker lösa? Iterar du genom taggar programatiskt?

 Ry-
Ry-
Redigerat svar 2012ör mars 2012 в 3:04
136
0
Lägg till en fråga
Kategorier
Alla
Teknik
Kultur / fritid
Livet / Konst
Vetenskap
Professionell
Företag
Användare
Alla
Ny
Populära
1
Анна Литвиненко
Registrerad för 1 dag sedan
2
Inessa bu
Registrerad för 1 månad sedan
3
Denis Babushkin
Registrerad för 1 månad sedan
4
asakuno asakuno
Registrerad för 1 månad sedan
5
aldo salerno
Registrerad för 1 månad sedan
Artificial intelligence to parse product page
productapi.dev
BG
DA
DE
EL
ES
FR
ID
IT
JA
NL
NO
PL
PT
RO
SK
SV
TR
ZH
© kzen.dev 2023
Källa
stackoverflow.com
under licens cc by-sa 3.0 med angivande av