Регулярное выражение lookfroward жадное

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

Я должен разобрать 1234, 1234567, но мне не нужно найти что-то вроде 1232: или 1233s.

Я попробовал это

/[0-9]*/

но эта регулярная 1233s принимает совпадения 1233 из строки 1233s, но в случае нет.

3 ответа

Попробуйте отрицательный просмотр:

/^\d+(?!:)$/

Описание:

  • \d+ соответствует одному и нескольким номерам
  • (?!:) не следует двоеточие.

Глядя и на вопрос более внимательно, и при условии, что : не единственный символ, который вы хотите предотвратить от совпадения (спасибо MikeW), вы должны быть хорошо, чтобы перейти с более простым регулярным выражением:

/^\d+$/


Рассмотрите возможность использования функции parseInt вместо регулярного выражения:

parseInt("1233s")
1233
parseInt("1232:")
1232


Попробуйте следующее:

/[\d]+/

Я надеюсь, что это будет нормально

licensed under cc by-sa 3.0 with attribution.