Замените (?<!\d)\.(?=\d)
на 0.
, предполагая, что ваш аромат регулярного выражения поддерживает отрицательный внешний вид.
(?<!\d)
является не предшествует цифра (отличной от \D
которым будет предшествует символ, который не является цифрой и не будет совпадать, если строка начинается с .5
), не потребляющего (отрицательный смотреть за).
\.
dot (duh), потребляющий.
(?=\d)
означает, что точка должна быть , а затем цифрой, не потребляющей (положительный прогноз).
Единственный потребляемый символ - точка, поэтому вам нужно заменить его только 0.
.
Edit: Поскольку VBScript не поддерживает просмотровых задом, вы можете использовать несколько более сложную замену (\D|^)\.(?=\d)
с $10.
(предполагая, что аромат VBScript не пытается получить 10-й группы, которым JavaScript похоже, не делает). Часть (\D|^)\.
будет соответствовать точке, которой предшествует либо начало строки, либо любой символ без цифры. Этот предыдущий персонаж потребляется, поэтому вам нужно вернуть его, следовательно, $1
.
Это не сработает - VBScript - это диалект ECMAScript, и поэтому утверждения lookbehind недоступны, как я подробно рассказал в своем ответе. –
Спасибо, отредактировал ответ соответственно. –
Спасибо всем, что сообщили мне _lookaround_ сейчас! @ работает код streetpc '(\ D | ^) \. (? = \ d)'. Атрибут VBScript не поддерживает _lookbehind_. Должны использовать этот способ для работы. – visualPaul