2008-11-28 4 views
2

Я ищу, шаблон регулярных выражений, которые будут соответствовать несколько различных комбинаций нулей, таких как 00-00-0000 или 0 или 0.0 или 00000Regex для соответствия нулей

Пожалуйста, помогите

Спасибо!

EDIT:

Ну, у меня есть веб-сервис, который возвращает мне набор результатов, основываясь на том, что она возвращает мне, что я могу решить, если результат стоит отображать на странице. Поэтому, если я получу либо 00-00-0000, либо 0 или 00000, я бы предположил, что данные не были найдены, однако если он вернет 001 или 00или 0356.00 - 1000 или 0.6700, это будет действительным.

Надеется, что это проясняет мой вопрос

Благодарность

+0

Дайте больше примеров или лучшее определение. С регулярным выражением вы описываете грамматику языка (язык нулей :)). Что действительно на этом языке, а что нет? Правильно ли 0..0 или 0 .-. 0 или 0 # 0? – user39307 2008-11-28 02:51:22

+0

Это действительно слишком неопределенно – Draemon 2008-11-28 03:03:32

+0

Может ли он вернуть 0baa? Это действительно? – user39307 2008-11-28 03:19:53

ответ

2
[^123456789]+ 

или

[^1-9]+ 

Я считаю, что это то, что вы ищете ...

7

Вам нужно, чтобы лучше определить, что справедливо появляться между нулями. Исходя из вашего вопроса, я предполагаю, что вы ищете любое количество нулей с любым числом и группировкой «-» и «.». между ними ....

0([-.]?0+)*

Надеюсь, вы не возражаете, мыльницу:

Основываясь на вопрос редактирования, что вы ищете любая строка, которая имеет ненулевые цифры в нем , так что:

[1-9]

или, если регулярное выражение двигатель автоматически анкеры начало и конец строки:

.*[1-9].*

может быть лучшим решением.

Это обратная сторона теста, который вы просили, но это простое изменение (изменить смысл выражения if).

1

Вот регулярное выражение, которое будет соответствовать тому, что вы просили до сих пор. Если есть больше, вы хотите, чтобы он соответствовал, укажите, пожалуйста.

0+((\.0+)|(-0+)*) 

Это соответствует всем вашим запросам.

1

Попробуйте это:

(00-00-0000|0|0\\.0|00000) 
0

Вы, кажется, чрезмерно усложнять то, что нужно что нужно сделать. Вместо поиска разных комбинаций, которые оказываются всеми нулями, почему бы не использовать регулярное выражение, которое идентифицирует данные, которые вы do заботитесь о.

Поэтому я предлагаю вам использовать это: [1-9]

Это будет соответствовать, если строка содержит какую-либо цифру, которая отлична от нуля, при условии, что вы смотрите на числовых данных, конечно.

0

Я использую этот, начинается и заканчивается нолем и содержит только нули.

^[0]+$ 
Смежные вопросы