Autor Beitrag
outdoorboy
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 18.04.12 17:36 
Hallo NG

Für einen Text Highlighter suche ich einen regex der mir den Buchstaben R nach folgender Regel aussucht.

Der Text: "CR X 50 Y 35 R 15 DR- R F M"

folgt auf das R ein Leerzeichen und eine Zahl sollte das R schwarz sein.

Hier die Zeile wie sie aussehen soll.

CR X -50 Y -35 R 15 DR- R F M

In dem nachfolgenden XML-Auszug enthält der <Expression Type="Text"> alle Ausdrücke nach denen gesucht wird.

ausblenden XML-Daten
1:
2:
3:
4:
<Regex>
    <Expression Type="Text">//|\(|\)|LBL ([0-9]{1,3})?|GEWINDEBOHREN|ZUSTLG|[YZS]| X|IX|IY|IZ|COS|SIN|LBL| R |R0|RR|RL|[SMF][0-9]+|IF|EQU|GOTO|LT|GT|CYCL DEF [0-9]*\.[0-9]|(TOOL )?CALL( PGM)?|TIEFBOHREN|ABST|TIEFE|NULLPUNKT|VERWEILZEIT|V.ZEIT|FN [0-9][0-5]*|[:]|[=]|[Q]([0-9]{1,3})?|[-+]?[\d]{1,},?[\d]*|-?,[\d]*|^[A-Z][+-]</Expression>
    <Expression Type="Number">^(?:[-+]?([1-9][0-9]*|0?))?(?:,[0-9]*)?$</Expression>
</Regex>


Mit ...| R |... wird nach R gesucht. Wie kann ich nun feststellen ob danach eine Zahl kommt ohne diese zum Match hinzuzufügen. Mit ...| R [0-9]|... ist der Match ja R 1 und der Regex für die Zahl funzt nicht mehr.

Geändert am 18.04.2012 19:30

Hat sich erledigt. look around ist die Lösung

...| R (?=[0-9])|...

de.wikipedia.org/wik...ok-around_assertions

ciao