C中的正则表达式和js中的是否一样?

  感觉和js中的正则表达式差不多,但我这本书上并没有对c#的正则表达式的一些详细说明,c#中的正则表达式和js中的使用方法一样吗?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  在js中正则表达式是一个类型。可以直接使用var s = /pattern/;这样的形式实现。所以说在js只直接是一种类型的。象用其他诸如字符串等类型一样使用他,只不过定界符不同。

  而在C#本身是不存在的,直接使用的是一种类库中的一个类实现的。也就是说正则表达式其实只是类库中的一个类而已。然后对这个类定义有几个静态变量,变量,方法与函数等等,你只要知道他是一个类就可以了!

  至于相同的部分那就是大部分的元字符表示法,比如^表示开始,$表示结尾等等,也就是说他们大部分相同的地方就是对于元数据的定义,d等等,这样你在不同的语言中,虽然实现不同,但对于元数据却使用相同的东西,以便于你的记忆,不必到各种语言中都再去学习了。

  不同的是对于表达式的限定及扩展不一样的。在js中你可以直接跟在后面实现,如:

  但在C#中利用的是另一个参数,regexoptions,枚举型的,除了这些这外还有对编译等等,比js要多。而对于运算符如选择?等都是一样的!也就是说,js中的写法在C#中一定能用,除模式限制部分,而在C#中的写法大部时间js也能用。

  表达式还是要学习的,不是学的元数据表示,而是对于那个类语法的学习,比如在js中存在test方法,就是测试匹配,但不设置变量,而在C#中没有,有一个isMatch与之相同功能。不学习这些东西你怎么会知道呢?所以必须要学习的,而且顺便说一下C#上的正则表达式比js强多了,还有很多的东西是js正则表达式中所没有的,比如动态正则表达式,而在js中是不可能实现的。在C#中却可以实现。如果不学习,那么你的表达式也只能处于常用的基础上!

  简而言之,javascript的正则表达式引擎没有.net提供的强大,.netjavaphp都提供特别的功能是别的平台没有的。javascript正则表达式引擎还依赖于浏览器实现,不同的浏览器在底层实现上也不同,性能也不同草薙在发布于2012-04-27评论正则表达式是一样的,但怎么使用是不一样的,语法你得看看。追问你是指其中的 ^[0-9]*$ 这个字符串是一样的?

  1 2 3精彩知识在知道年终奖扣税的奥秘你知道吗?百度知道精选审核官招募啦!“团结一新”2018年答题狂欢趴!

相关阅读