以下都是我在Java中运行的正则表达式,但放在js上面格式有点问题,请哪位朋友帮我改改格式。
表达式1:^\d+\-\d+$
表达式2:^\d+\-\d+,\d[\d,]+$
表达式3:^\d+\+\d+[\d\+]+$
以下正则表达式换成js的表达式格式该怎么写?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- rednaxelafx 2008-12-17 17:19关注
不用到某些字符组的交/并集、逆序环视(lookbehind)之类的话,JavaScript的正则表达式跟Java的很相似,基本上都是Perl-compatible的。
主要是Java里正则表达式没有专用的表示方式,必须用字符串来表示;而Java的字符串中斜杠('\')是转义字符,同时在正则表达式里斜杠也是转义字符。这就导致Java里使用转义字符特别麻烦。本来在Perl-compatible的表示方式里这样的正则表达式:
[code="js"]/\d+/[/code]
在Java里就必须写成:
[code="java"]Pattern.compile("\d+")[/code]
也就是说本来在Perl-compatible的记法里正则表达式用到了转义字符的地方,在Java字符串里都必须把一个斜杠写成两个斜杠。
换句话说,问题里的正则表达式基本上只要把两个斜杠换成一个斜杠就行了。另外,/[\d+]/跟/[\d+]/是一样的……Java里的话就是说"[\d\+]"跟"[\d+]"是一样的。方括号里很多元字符都不再是元字符,而变回普通字符了,包括点('.')、加号('+')、问号('?')、星号('*')等许多。
关于JavaScript的正则表达式,稍微做了点笔记,在这里:[url]http://rednaxelafx.iteye.com/blog/171476[/url]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报