这句看不太明白

来源:3-23 选择题

hyperse

2019-06-01 22:52:55

/0|-?[1-9]\d*/

我的理解是0或者负一到负3九的任意一位,然后?表示非贪婪也就是匹配到了一位就不往下匹配了,\d*表示正整数匹配0位到多位,这样理解对吗?

疑问一:这个正则里面的|和?是不是同一个作用,互相可以替换呢?

疑问二:为什么负数在[]里面就只能选择一个,\d*正整数可以选择0位或多位呢?

我有点混乱了。。

写回答

1回答

好帮手慕慕子

2019-06-02

同学你好, 首先你的理解整体是对的, 对于你的疑问可以参考下面的解答

1、 |表示或者的意思, 0|-表示匹配0或者-,  ?表示非贪婪匹配到了一位就不往下匹配,

0|-?表示最多匹配一个0或者-

2、[]后面没有跟量词,所以[1-9]只匹配从 1 至 9 的任意一个数字。 \d*后面有表示量词的符号*,所以可以选择0位或者多位

正则这里确实不好理解, 同学可以结合教辅资料理解哦, 示例:

http://img.mukewang.com/climg/5cf334da0001cfbc05460332.jpg

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~

1

0 学习 · 14456 问题

查看课程