Je cherche une limite de mot pour couvrir ces 3 cas:
Y a-t-il quelque chose comme ça depuis \ B Covers aussi -, / etc./p.pokewould souhaitera remplacer \ B dans ce motif par quelque chose décrit ci-dessus: p>
(\b\d*\sx\s|\b\d*x|\b)
3 Réponses :
OK, votre vraie question est la suivante:
Comment puis-je correspondre à une unité, éventuellement précédée d'une quantité, mais uniquement s'il n'y a rien ou un espace juste avant la correspondance? P>
Utilisation p> (? : affirme qu'il est impossible de Faites correspondre un caractère non-espace avant la correspondance. p> \ b code>: correspond à une limite de mot p> (?: \ d + \ s * x \ s *)? code>: correspond éventuellement à un quantifier (entiers uniquement) p> \ d + (?: \. \ d +)? Code>: Correspondre un numéro (Décimales en option ) p> \ s * ml \ b code>: Match ml code>, éventuellement précédé de blancheur. p> p>
Peut-être que si vous pouviez expliquer ce que vous voulez vraiment faire. Quel problème essayez-vous de résoudre?
J'ai posté mon modèle ci-dessus, je voulais juste remplacer \ b par cette limite de mot limitée si possible.
Ce n'est pas ce que «expliquer quel problème vous essayez de résoudre» signifie. De quoi avez-vous besoin de la regex pour i>? Montrez quelques exemples de ce que vous essayez de faire correspondre, ce que vous essayez pas i> pour correspondre, et éventuellement toute autre "règles" les matchs doivent suivre.
a l'air sympa mais ne correspond pas aux flotteurs I.E. 1.50 ml
Ok, a changé la regex pour accueillir cela. Vous devez connaître et indiquer vos besoins clairement - vous n'avez rien dit de flotteurs avant ...
Les limites que vous obtenez avec \ b code> sont non sensibles aux espaces. Ce sont des assertions conditionnelles compliquées liées à la transition entre \ w \ w code> ou \ w \ w code>. Voir Cette réponse a > Pour savoir comment écrire votre ancre plus précisément, afin que vous puissiez traiter avec des espaces de votre choix. P>
Essayez de remplacer (PRE> xxx pré> < p> travaille pour moi en Python et JavaScript. P> p> \ b code> avec (?: ^ | \ S | $) code>
En JavaScript, le groupe externe comprend tout, y compris le groupe de non-capture. À l'aide d'Exec (), je peux obtenir le 2e groupe, qui exclut le groupe non capturant, mais comment puis-je utiliser cela dans Remplacer () dans JavaScript?
Fonctionne parfaitement dans .NET - merci! C'est exactement ce que je cherchais. (La regex que j'essaie de faire correspondre entre les espaces / début / la fin de la ligne est différente, mais le comportement "Match WhitSpace ou début de ligne" est exactement ce que je cherchais.)
@Fernandocamargo J'essaie de comprendre la même chose à l'aide de Remplacer () en JavaScript
@Kdawgwilk Avez-vous trouvé une solution? Je suis confronté exactement au même problème
@Jordane je verrai si je peux le trouver demain et je vous ferai savoir
[\ s ^ $] code> fais-il ce dont vous avez besoin? En outre, cela peut aider à indiquer ce que vous utilisez le moteur de regex.@Larsh: le caret et le dollar sur les crochets comme indiqué sont des caractères simples, pas des métacaractères.
En fait, je crois que à l'intérieur des crochets, le ^ n'est qu'un métacaracter différent. Il annule une valeur, alors [^ f] correspondra à tout sauf "F"
@gnomed: Seulement si c'est le premier caractère à l'intérieur des crochets.
@Jonathan, ok. Je pensais que c'était peut-être c'était le cas ... Je ne me souvenais pas.