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.
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