Schrift
[thread]10618[/thread]

Problem mit Regexp



<< >> 7 Einträge, 1 Seite
Skankster
 2007-10-18 21:49
#101054 #101054
User since
2007-10-18
3 Artikel
BenutzerIn
[default_avatar]
Guten Abend!

Habe ein kleines Problem an dem ich schon eine Weile dran bin....

Und zwar möchte ich alle Ordernname matchen, nach folgendem Beispiel...

[2000] band - artist

Wichtig das es immer genau ein Space ist...

Hier wäre mein Ansatz:

/^\[\d{4}\][ ][[:alnum:]][ ]-[ ][[:alnum:]]$/

/^\[\d{4}\]\s{1}.*\s{1}-{1}.*/

Grüsse
renee
 2007-10-18 22:05
#101057 #101057
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Beim ersten Ansatz fehlt zweimal ein + und die '[]' um das Leerzeichen kannst Du weglassen:
/^\[\d{4}\] [[:alnum:]]+ - [[:alnum:]]+$/

Beim zweiten Ansatz kannst Du die ganzen {1} weglassen und ".*" würde ich durch "\w+" ersetzen: /^\[\d{4}\]\s\w+\s-\w+$/

(ungetestet)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Skankster
 2007-10-18 22:45
#101059 #101059
User since
2007-10-18
3 Artikel
BenutzerIn
[default_avatar]
Danke, das hat mir schon weitergeholfen!

[2000] band - artist

Das Problem hierbei ist nun noch, dass band sowie artist noch spaces enthalten können.

So besteht nur noch das Problem, dass zwar das: [2000]band - artist abgefangen wird, aber die RegEx nicht anschlägt wenn es zwei spaces sind.....
/^\[\d{4}\] .* - .*$/
Gast Gast
 2007-10-19 00:14
#101060 #101060
geht es so?
Code: (dl )
/^\s*\[\d+\]\s*.+?\s*-\s*.+?\s*$/
Skankster
 2007-10-19 10:38
#101068 #101068
User since
2007-10-18
3 Artikel
BenutzerIn
[default_avatar]
@ gast nein geht nicht, bei deiner Lösung können beliebig viele Spaces vorkommen....

Habe es nun mit zwei RegExp geschafft.... :

/^\[\d{4}\] .* - .*$/ && $test =~ /[[:alnum:]]+ - [[:alnum:]]+/
renee
 2007-10-19 10:48
#101071 #101071
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Skankster+2007-10-18 19:49:43--
Wichtig das es immer genau ein Space ist...


Wieso sollen es jetzt zwei Spaces sein?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Duff
 2007-10-19 12:17
#101088 #101088
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Wenn die Anzahl der Spaces variiert und immer 1 Space vorhanden sein muss, aber mehrere folgen können, würde ich ein \s+ verwenden.
D'OH
Daniel
<< >> 7 Einträge, 1 Seite



View all threads created 2007-10-18 21:49.