用JAVA正则表达式提取javascript函数体

JavaScript019

用JAVA正则表达式提取javascript函数体,第1张

Pattern regex = Pattern.compile("function\\s*?article\\(.*?\\)\\s*?\\{[^{}]*?(\\{.*?\\})*[^{}]*?\\}", Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.MULTILINE)

把里面的article替换成你的参数就可以了

javascript中的正则表达式和java的正则表达式基本上是相同的,区别在于分组引用和对象,方法

具体区别:

1).javascript正则表达式创建有两种方法:

a.显式创建:

var re = new RegExp("正则表达式模式串")

re.test(要校验或处理的源字符串)

b.隐式创建:

var re = /正则表达式模式串/

要校验或处理的源字符串.match(re)

2).分组捕获对象引用方式不同

javascript也是使用"()"进行分组,但是捕获对象用RegExp对象的$1到$99来引用捕获对象。

附录:常用的javascript正则表达式,java的也类似

ip地址校验正则表达式(IPv4):

/^(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])(/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])){3}$/

Email校验正则表达式:

/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)+$/

格式为:2010-10-08类型的日期格式校验正则表达式:

/^/d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]/d|3[0-1])$/

格式为:23:11:34类型的时间格式校验正则表达式:

/^([0-1]/d|2[0-3]):[0-5]/d:[0-5]/d$/

楼主结贴吧,查资料的时候看到的