[Edited] Я относительно новичок в регулярном выражении, теперь я столкнулся с прецедентом, где целевая строка должна содержать точно ОДНУ точку '.'
. Чтобы быть более конкретным, я делаю обнаружение с плавающей запятой, где, как я полагаю, должна содержаться только одна точка и показатель «e».Regex, соответствующий нескольким точкам
Мое регулярное выражение теперь выглядит так: (?=.*[0-9]{1,})(?=.*[\.][0-9])(?=.*[eE][+-]?[1-9])
. Это, кажется, работает на тестовых строк, как:
2.1E12
3.141E23
Но когда я тестирую с:
1.15E10.34
Это еще прошло.
Кто-нибудь знает, что я сделал не так? Также кто-то может порекомендовать хороший ресурс для обучения регулярному выражению?
Спасибо!
Вы имеете в виду, что целевая строка должна быть в точности как строка ''. "'? Или что он должен начинаться с одной точки? Или что он должен содержать ровно одну точку? Или что-то другое? – rici
Я только что отредактировал вопрос, чтобы быть более конкретным, пожалуйста, дайте мне знать, если вам, ребятам, нужно больше интеллекта. Бесконечно благодарен! – benjaminz
Какой язык программирования вы используете? – alfasin