Question Regex et positionnement aléatoire de caractères

Plus d'informations
il y a 11 ans 1 semaine #19703 par xyz
Erreur de ma part, la regex est conçue pour une chaine contenant + lignes, là où Select-String, à partir d'un fichier, travaille sur des lignes.
Le binding n'est pas en cause :whistle:

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 semaine #19704 par rocketter
Je vais regarder cette notion de Parameter Binding, du coup il faudrait travailler avec un get-content plutôt qu'un get-childitem ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 semaine #19705 par xyz
rocketter écrit:

du coup il faudrait travailler avec un get-content plutôt qu'un get-childitem ?

Non, si l'objet reçu est un fichier le cmdlet le lit puis analyse chaque ligne, si c'est une chaine il l'analyse.
Ici c'est la regex qui ne convient pas, car le cmdlet ne reçoit pas l'intégralité du texte (une seule chaîne), mais plusieurs, le retour chariot étant tjr absent, la regex échoue...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 semaine #19707 par rocketter

Ici c'est la regex qui ne convient pas, car le cmdlet ne reçoit pas l'intégralité du texte (une seule chaîne), mais plusieurs, le retour chariot étant tjr absent, la regex échoue...


La regex prend quand même en compte soit le retour chariot, soit la création d une nouvelle ligne ou soit les deux. Comment procéder du coup ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 semaine #19708 par xyz
rocketter écrit:

La regex prend quand même en compte soit le retour chariot, soit la création d une nouvelle ligne ou soit les deux. Comment procéder du coup ?

Oui, mais c'est le contenu du texte qui importe :
[code:1]
[IO.File]::ReadAllText('C:\test.hpr')|select-string \"(?<=($Balises).*?)(\n|\r|\r\n)A\|\" -quiet
[/code:1]
Là on passe bien une seule chaîne :

PIPELINE object TYPE = [System.String]

DÉBOGUER : ParameterBinding Information: 0 : BIND arg [\"qsmldkqpsdokjq|poqskjdpdjpqosjkd|poqskjpokqjd||MP|12345
A|65464654\"
] to parameter [InputObject]


Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 semaine #19711 par rocketter
Ca semble passer également avec :
[code:1]get-content \"c:\test.hpr\" | out-string | select-string \"(?<=($Balises).*?)(\n|\r|\r\n)A\|\" -quiet[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.050 secondes
Propulsé par Kunena