我目前正在学习翻译应用,我们正在学习正则表达式。这是一个作业问题。我已经花了一段时间在这个问题上,但我仍然感到困惑。我不只需要答案,更需要解释以确保我能够学会它。
我需要一个匹配所有偶数的正则表达式,前导0也可以。以下是一些示例... (示例:0、00、... 2、4、6、8、10、010、12...)
谢谢。
我需要一个匹配所有偶数的正则表达式,前导0也可以。以下是一些示例... (示例:0、00、... 2、4、6、8、10、010、12...)
谢谢。
一个数字是偶数,必须以偶数结尾。偶数包括0、2、4、6和8。使用字符类来指定每个位置允许出现哪些数字。
答案是:
/^[0-9]*[02468]$/
解释:
^ 行首/字符串的开头 [0-9] 从零到九的任意数字。 * 重复上一个标记零次或多次。 [02468] 任何偶数数字。 $ 行尾/字符串的结尾。
为了帮助您学习正则表达式,我建议阅读正则表达式快速入门。
在一些正则表达式引擎中,您可能会看到使用\d
代替[0-9]
。在某些正则表达式引擎中,这两者是等效的,但在其他一些引擎中,\d
也匹配其他国家被认为是数字的字符。
更多信息
作为练习,您可以尝试调整此正则表达式以禁止前导零。提示:有三种类型的数字:第一个数字、中间数字、最后一个数字。请记住,只有最后一个数字必须存在,其他数字是可选的。
/^\+?[0-9]*[02468]$/
詹姆斯·库兰:/^\+?[0-9]*[02468]$/
- gnarf/\d*[02468]$/
/[abc]/
,如果字符串中包含 'a'、'b' 或 'c',则会匹配该字符串。
+2
、2.00
和5e3
怎么样?它们都是正偶数。正则表达式应该接受它们吗? - Mark Byers