Regulären Ausdruck zu finden, einen text als ganzes Wort
Ich bin mit der ABAP-Anweisung READ REPORT
und ich will FIND ALL OCCURRENCES OF REGEX
. Zum Beispiel, sagen wir ich möchte die Suche für SELECT
aber wenn ich das mache FIND ALL OCCURRENCES OF REGEX 'SELECT'
die Rücksendung Tisch bekommt-Linien SELECT-OPTIONS
, SELECTION-SCREEN
und SELECT
.
Wie verwende ich die regex, um nur diejenigen Zeilen mit SELECT
, verwerfen die anderen 2 möglichen übereinstimmungen in dem Beispiel oben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur für
`SELECT `
Beachten Sie das zusätzliche Leerzeichen und der Verwendung von Grab Zitate (Grab Angebote, so dass das Leerzeichen wird berücksichtigt). Diese einfache Lösung ist machbar, weil es höchst unwahrscheinlich, dass es eine neue Zeile direkt nach der Wahl.
Ihre Forderung ist so einfach, dass Sie nicht brauchen, um einen regulären Ausdruck verwenden.
SELECT[[:space:]]
für diese.'SELECT '
(Leerzeichen werden ignoriert) das ist das gleiche wie'SELECT'
zu`SELECT `
mit Grab Zitate (Leerzeichen berücksichtigt). Die LösungSELECT[[:space:]]
hat den Vorteil zu berücksichtigen, Auswertung, non-breaking space und ein paar andere space-ähnlichen Zeichen zu; es kann auch geschrieben werden in Ihrer kurzen formSELECT\s
.http://sapignite.com/regex-in-abap/
ODER
Download der PDF-Datei von diesem Link
http://www.google.co.in/url?sa=t&rct=j&q=how%20do%20i%20use%20regex%20in%20abap%20to%20search%20for%20a%20specific%20string%3F&source=web&cd=1&ved=0CCMQFjAA&url=http%3A%2F%2Fwww.sdn.sap.com%2Firj%2Fscn%2Findex%3Frid%3D%2Flibrary%2Fuuid%2F902ce392-dfce-2d10-4ba9-b4f777843182%26overridelayout%3Dtrue&ei=AsFxT9bJNdDqrQfdoe3hDQ&usg=AFQjCNHTHvQXYtYosCLPwj98Za-LMJbo7w&cad=rja
SELECT
nur und nichtSELECT-OPTIONS
undSELECTION-SCREEN
?verwenden
\b steht für eine Wortgrenze. Es wird nicht mit aselect oder ausgewählte
Blick auf einen guten regex-Referenz auf mozila.org und versuchen Sie Ihr regex auf regexpal
\bSELECT\b
entspricht nichtSELECTION-SCREEN
aber unfortuntately es entsprichtSELECT-OPTIONS
dass die OP nicht will.\b(?!SELECT-OPTIONS)SELECT\b
Es ist ein sehr Cooler Spielplatz für reguläre Ausdrücke testen: Führen Sie den Bericht DEMO_REGEX_TOY mit SE38 oder SE80.
DEMO_REGEX_TOY
ist ein tolles Werkzeug, um zu versuchen, verschiedene Regex-Kram.