0
Je demande tcl regex à ces 2 données, je voulais extraire les données 2e colonne:TCL regexp pour détecter non-espaces
1: Common point: rt123_345_no/qwe_rty/sdf34x56/CFR
2: Common point: NA
Ce regex fonctionne pour la 1ère données, mais ne fonctionnera pas pour 2 données:
regexp -inline -expanded -- {Common\spoint:\s+?(\S+)\s+} $line
Je ne comprends pas pourquoi l'expression régulière ne fonctionnera pas. S'il vous plaît donnez votre avis.
je mettrais un '\ y' sur la fin de ce RE pour forcer le match à arrêter sur une limite de mot (http://www.tcl.tk/man /tcl8.6/TclCmd/re_syntax.htm#M72) –
@DonalFellows Oui, possible. En outre, s'il doit y avoir un espace ou une fin de chaîne, le '\ s +' peut être remplacé par '(?: \ S + | \ Z)', ou même un lookahead comme '(?! \ S)'. [Tout semble fonctionner] (https://ideone.com/JUdATM) pour le scénario actuel. –