java代码中的正则表达式案例(java正则表达式四种常用的处理方式(匹配、分割、替代、获取))
大家好,今天来为大家分享java代码中的正则表达式案例的一些知识点,和java正则表达式四种常用的处理方式(匹配、分割、替代、获取)的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
一、java如何防sql攻击
1、java防SQL注入,最简单的办法是杜绝SQL拼接,SQL注入攻击能得逞是因为在原有SQL语句中加入了新的逻辑,如果使用PreparedStatement来代替Statement来执行SQL语句,其后只是输入参数,SQL注入攻击手段将无效,这是因为PreparedStatement不允许在不同的插入时间改变查询的逻辑结构,大部分的SQL注入已经挡住了,在WEB层我们可以过滤用户的输入来防止SQL注入比如用Filter来过滤全局的表单参数。下面就举三个例子来说明一下:
2、采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可,如下所示:
3、Stringsql="select*fromuserswhereusername=?andpassword=?;PreparedStatementpreState=conn.prepareStatement(sql);preState.setString(1,userName);preState.setString(2,password);ResultSetrs=preState.executeQuery();...
4、采用正则表达式将包含有单引号('),分号(;)和注释符号(--)的语句给替换掉来防止SQL注入,如下所示:
5、publicstaticStringTransactSQLInjection(Stringstr)
6、returnstr.replaceAll(".*([';]+|(--)+).*","");
7、userName=TransactSQLInjection(userName);
8、password=TransactSQLInjection(password);
9、Stringsql="select*fromuserswhereusername='"+userName+"'andpassword='"+password+"'"
10、Statementsta=conn.createStatement();
11、ResultSetrs=sta.executeQuery(sql);
12、使用Hibernate框架的SQL注入防范Hibernate是目前使用最多的ORM框架,在JavaWeb开发中,很多时候不直接使用JDBC,而使用Hibernate来提高开发效率。
13、在Hibernate中,仍然不应该通过拼接HQL的方式,而应使用参数化的方式来防范SQL注入。有两种方式,一种仍然是使用JDBC一样的占位符“?”,但更好的方式是使用Hibernate的命名参数,例如检测用户名和密码是否正确,使用Hibernate可以写成如下:
14、StringqueryStr=“fromuserwhereusername=:username”+”password=:password”;
15、Listresult=session.createQuery(queryStr).setString("username",username).setString("password",password).list();
二、java正则表达式\
1、匹配数字或“/”或“.”以外的字符一次或一次以上
2、匹配数字或“/”或“.”一次或一次以上
3、其中//是在java编译环境中“/”加上转义字符,
4、另外“.”在方括号中表示的就是“.”,其他场合下表示任意可见字符。
三、java正则表达式四种常用的处理方式(匹配、分割、替代、获取)
1、JAVA中正则表达式处理字符串的四个常用方法:匹配、分割、替换、截取。其跟字符串的常用函数相似,但是使用正则表达式会更简单、更加简洁。下面是具体的例子:
2、3publicstaticvoidmain(String[]args){
3、20getReplace(str,oldChar,regex);
4、29publicstaticvoidgetMatches(Stringstr,Stringregex){
5、30System.out.println(str.matches(regex));
6、33publicstaticvoidgetSpilt(Stringstr,Stringregex){
7、34String[]array=str.split(regex);
8、40publicstaticvoidgetReplace(Stringstr,StringoldChar,Stringregex)
9、41System.out.println(str.replaceAll(oldChar,regex));
10、44publicstaticvoidgetSubstring(Stringstr,Stringregex){
11、45Patternp=Pattern.compile(regex);
12、48System.out.println(m.group(1));
四、java中\\(单个反斜杠)的正则表达式是什么
1、(group(0)是为了看清匹配的东西)
2、如果想要匹配反斜杠的话,用转义字符就好了。若不用r""的话,也可以写成
3、原因是从字符串输入到代码转义一次,又在生成regex的时候再转义一次,于是就需要多打反斜杠。用r""可以抵消掉第一次转义
五、java怎么用正则表达式截取一段字符串
1、首先比要知道正则表达式的写法;s.slip("s")
2、;//通过非数字来截取字符串比如34234jdds434323kds79090dsdd皆可以将字符串竭诚三段
OK,关于java代码中的正则表达式案例和java正则表达式四种常用的处理方式(匹配、分割、替代、获取)的内容到此结束了,希望对大家有所帮助。
——————————————小炎智能写作工具可以帮您快速高效的创作原创优质内容,提高网站收录量和各大自媒体原创并获得推荐量,点击右上角即可注册使用
相关新闻推荐
- java以后会用到正则表达式吗 jbk哪些版本支持正则表达式 2023-11-28
- java代码中的正则表达式案例(java正则表达式四种常用的处理方式(匹配、分割、替代、获取)) 2023-11-28
- java代码中正则表达式匹配中文(正则表达式匹配中文怎么表示) 2023-11-28
- java代码中如何使用正则表达式 java正则表达式四种常用的处理方式(匹配、分割、替代、获取) 2023-11-28
- java从字符串正则表达式?如何在java中用正则表达式验证一个字符串中是否包含连续的4位数字 2023-11-28
- java中验证邮箱的正则表达式?如何验证邮件 2023-11-28