String ausschließen bei Regex
Wie schließt man ein Zeichenkette bei einem Regex?
Input String:
Gewünschte Substring:
Wie ich versucht habe:
Eigentlich kann man durch [^0-9]* beliebige Zeichenkette ohne Zahl finden. Wie das hier (Zeichen ausschließen) will ich String ausschließen. zB. "BeispielString" trifft zu, "Beispiel2String" trifft nicht zu, "beispielabc" trifft nicht zu bei [^0-9(abc)].
Ich muss dieses Problemm nur mit regex lösen.
Hilf mir bitte
Danke voraus
<div>htmlCodes<div class=\"entry\"> bla bla <htmlCodes>/fda </htmlCodes> / bla bla </div>htmlCodes</div>
<div class=\"entry\"> bla bla <htmlCodes>/fda </htmlCodes> / bla bla </div>
Wie ich versucht habe:
String regex = "<div class=\"entry\">(.*)</div>";
String source ="<div>htmlCodes<div class=\"entry\"> bla bla <htmlCodes> bla bla </div>htmlCodes</div>";
Matcher m = Pattern.compile(regex).matcher(source);
while (m.find()) {
System.out.println("Matched group: "+m.group(1));
}
Ich muss dieses Problemm nur mit regex lösen.
Hilf mir bitte
Danke voraus
Please also mark the comments that contributed to the solution of the article
Content-Key: 175579
Url: https://administrator.de/contentid/175579
Printed on: April 25, 2024 at 22:04 o'clock
6 Comments
Latest comment
Also in regex gibt es eine Stringklasse, welche dies erlaubt:
Der erste Ausdrück liefert true und der zweite false zurück.
Eine andere Variante ist folgende: Übergibt man der Pattern ein String wie "(BeispielString)", dann liefert m.find() den Index des ersten Buchstaben zurück, wenn der Substring im String gefunden wird, ansonsten nichts. Ein Beispielprogramm der dies tut:
Liefert beim Aufruf mit java Regex2 "BeispielString" "Ist BeispielString enthalten?" eine 4 zurück, ansonsten nichts. Vorsicht: Mit obigem compile wird auch ein "BeispielStringBeispiel" gefunden. Evtl. hilft hier ein zusätzliches [\s].
Das obige Programm als Methode umzubauen, welche je nachdem true oder false liefert dürfte nicht schwer sein.
String s1 = "BeispielString";
String s2 = "Beispiel2String";
System.out.printf("%b", s1.matches("BeispielString"));
System.out.printf("%b", s2.matches("BeispielString"));
Eine andere Variante ist folgende: Übergibt man der Pattern ein String wie "(BeispielString)", dann liefert m.find() den Index des ersten Buchstaben zurück, wenn der Substring im String gefunden wird, ansonsten nichts. Ein Beispielprogramm der dies tut:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regex2 {
public static void main(String args) {
Pattern p = Pattern.compile(args);
Matcher m = p.matcher(args[1]);
while (m.find()) {
System.out.print(m.start() + " ");
}
}
}
Liefert beim Aufruf mit java Regex2 "BeispielString" "Ist BeispielString enthalten?" eine 4 zurück, ansonsten nichts. Vorsicht: Mit obigem compile wird auch ein "BeispielStringBeispiel" gefunden. Evtl. hilft hier ein zusätzliches [\s].
Das obige Programm als Methode umzubauen, welche je nachdem true oder false liefert dürfte nicht schwer sein.