正则表达式 1-9任意数字
1。
公元500年前后,随着经济、文化以及佛教的兴起和发展,印度次大陆西北部的旁遮普地区的数学一直处于领先地位,起源于印度。天文学家阿叶彼海特在简化数字方面有了新的突破:他把数字记在一个个格子里,如果第一格里有一个符号,比如是一个代表1的圆点,那么第二格里的同样圆点就表示十,而第三格里的圆点就代表一百。
这样,不仅是数字符号本身,而且是它们所在的位置次序也同样拥有了重要意义。印度的学者又引出了作为零的符号。可以这么说,这些符号和表示方法是今天阿拉伯数字的老祖先了。
大约700年前后,阿拉伯人征服了旁遮普地区,他们吃惊地发现:被征服地区的数学比他们先进。后来,阿拉伯人把这种数字传入西班牙。公元10世纪,又由教皇热尔贝·奥里亚克传到欧洲其他国家。
公元1200年左右,欧洲的学者正式采用了这些符号和体系。至13世纪,在意大利比萨的数学家费婆拿契的倡导下,普通欧洲人也开始采用阿拉伯数字,15世纪时这种现象已相当普遍。那时的阿拉伯数字的形状与现代的阿拉伯数字尚不完全相同,只是比较接近而已,为使它们变成今天的1、2、3、4、5、6、7、8、9、0的书写方式,又有许多数学家花费了不少心血。
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
例如:
runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。
runoo*b,可以匹配 runob、runoob、runoooooob 等,* 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。
colou?r 可以匹配 color 或者 colour,? 问号代表前面的字符最多只可以出现一次(0次、或1次)。构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
如果原来的字符已经是数字,只是排除 0:
[^0]