【问题标题】:Matching the first line of content in RegEx匹配 RegEx 中的第一行内容
【发布时间】:2016-09-17 20:59:12
【问题描述】:

我只想匹配 0 到 799 之间的数字,前提是其中没有逗号。


$660
http://stackoverflow.com/questions/6560030/what-regex-can-i-use-tovalidate-anumber-between-0-and-255

我尝试过使用 这个 RegEx。 --> \b(0*(?:[0-9]?[0-9]?[0-9]?|100))\b 效果很好。 (如果数字在 0 到 999 之间)

在更改我的正则表达式方面需要帮助:

  • 我需要它在 JavaScript 中工作。
  • 我想在 $ 之后使用正则表达式 验证第一行中的数字(我只需要 它,如果它在 0 和 799 之间)
  • 如果它有一个逗号,那么它应该被忽略(如数字 799+)
  • 我不希望它接受带有 逗号 的数字,因为我当前的正则表达式认为它是有效的。 (或者至少 6,245 应该等于 6245,所以我的正则表达式可以忽略它。)

【问题讨论】:

  • 您能否给我们一些示例输入,以及每个输入是否应该匹配?

标签: regex validation numbers match comma


【解决方案1】:

重新表述您的问题,数字之前或之后不得有逗号:

(?<!,)\b[1-7]?\d?\d\b(?!,)

Try it online.

如果你不能使用look behinds,例如如果你使用JavaScript,你将不得不使用非逗号并捕获目标:

(^|[^,])(\b[1-7]?\d?\d\b(?!,))

号码在第 1 组。

Try it online.

【讨论】:

  • 这几乎是我需要的,但我只想匹配第一行并忽略所有其他数字行。 rubular.com/r/YssSb8JxAL你的表情不限于第一行。 (我只需要 $ 后面的数字,没有别的(只有那一行))
  • 顺便说一句,我刚刚尝试使用它,它说“JavaScript 不支持 Lookbehind”。(我的错没有说我在 JavaScript 中需要它)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
  • 2014-07-24
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多