Регулярное выражение с запятой и числами

0

Я хочу регулярное выражение для строки, которая может содержать от 4 до 6 цифр и запятую, чтобы отделить их, которые уже сделаны этим регулярным выражением:

@"^(\d{1,6},{1})+$"

То, что я не хочу, - это запятая в конце

Это существующее регулярное выражение работает для строки типа: 0234,23544,234332,

Я хочу регулярное выражение для следующей строки: 0234,23544,234332.

  • 1
    У вас, кажется, есть полная остановка в конце?
  • 1
    Конечно, вы хотите {4,6} не {1,6} ?
Показать ещё 1 комментарий

5 ответов

1
Лучший ответ

Это ^\d{1,6}(,\d{1,6})*$ должно выполнять эту работу. Если вам нужна 4-6 цифр в группе, замените {1,6} на {4,6}.

  • 1
    Это правильное регулярное выражение, при условии, что точка в конце строки не должна быть там.
  • 0
    Вы можете добавить опциональную точку в конце регулярного выражения \.?$
2

Я до сих пор не знаю, о чем (.) В конце или нет

но /^\d{1,6},+\d+$/ будет соответствовать любой строке, /^\d{1,6},+\d+$/ без конца , or.

Объяснение Demo и Regex

  • 1
    О, дорогой, у тебя совпадения с паттернами 0234{,,,{},23544 . Узнайте об операторе [] , пожалуйста.
  • 0
    Это лучше сейчас, но не идеально :)
Показать ещё 1 комментарий
1

Простейший вариант:

/^(\d{4,6},?\b)+$/
1

я бы советовал

(\d{4,6}[,|\.])

если вы соответствуете "глобальному", например, все вхождения, вы получите следующее:

0234,
23544,
234332.
0234,
23544,
234332,

смотрите здесь !

для perl это было бы

m/(\d{4,6}[,|\.])/g
1

попробуйте это регулярное выражение

^\d{1,6}(,\d{1,6})*(\.)?$
  • 0
    Это будет соответствовать запятой в конце строки.
  • 0
    Образец OPs, который работает, имеет запятую в конце, если вы заметили
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню